Silverlight Telerik RadGridView动态增删行及行列 *** 作

Silverlight Telerik RadGridView动态增删行及行列 *** 作,第1张

概述最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用显示控件RadGridView,使用起来比DataGird好使, 也发现有控件问题。 1.增行 RadGridView中使用BeginInsert(),动态增加默认行方法,避免与 ShowInsertRow一起使用 1 ///增加行 2 radgridview.BeginInsert(); 复制代码    或     使用Sh

最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用显示控件RadGrIDVIEw,使用起来比DataGird好使,

也发现有控件问题。

1.增行

RadGrIDVIEw中使用BeginInsert(),动态增加默认行方法,避免与 ShowInsertRow一起使用

1 ///增加行
2 radgrIDvIEw.BeginInsert();
复制代码

   或

    使用ShowInsertRow=true;

1 radgrIDvIEw.ShowInsertRow=true;

2.删行

RadGrIDVIEw中也提供删除行方法,这个需要使用Teleri中的命令telerik:RadGrIDVIEwCommands.Delete

    同时设置CommandParameter对行绑定

1 <telerik:GrIDVIEwColumn header="Delete" >
2 <telerik:GrIDVIEwColumn.CellTemplate>
3 <DataTemplate>
4 <telerik:Radbutton Content="Delete"
5 Command="telerik:RadGrIDVIEwCommands.Delete"
6 CommandParameter="{Binding}" />
7 </DataTemplate>
8 </telerik:GrIDVIEwColumn.CellTemplate>
9 </telerik:GrIDVIEwColumn>
复制代码

 

    如图:

写成如下方式也与上面效果一样:

1 <telerik:GrIDVIEwColumn header="Delete" >
2 <telerik:GrIDVIEwColumn.CellTemplate>
3 <DataTemplate>
4 <telerik:Radbutton Content="Delete"
5 ///调用方法
6 Click="DelRow_Click" />
7 </DataTemplate>
8 </telerik:GrIDVIEwColumn.CellTemplate>
9 </telerik:GrIDVIEwColumn>
复制代码
1  private voID DelRow_Click(object sender,RoutedEventArgs e)
2 {
3 var deletecommand = RadGrIDVIEwCommands.Delete as RoutedUICommand;
4 deletecommand.Execute(radgrIDvIEw.CurrentItem,radgrIDvIEw);
5 }
复制代码

RadGrIDVIEwCommands命令还有很多,有时间可以看下

    3.行数据获取

使用这控件中,发现取数据不像DatagrID那样获取,开始也无法理解,仔细看下文档,获取方式还真不同。

将RadGrIDVIEw.Items中每项Item转换为GrIDRowVIEw的,在获取GrIDRowVIEw中的每列

使用RadGrIDVIEw.ItemContainerGenerator.ContainerFromItem()方法

1 foreach (var item in radgrIDvIEw.Items)
2 {
3 GrIDVIEwRow row = radgrIDvIEw.ItemContainerGenerator.ContainerFromItem(item) as GrIDVIEwRow;
4 int level=Convert.ToInt32((row.Cells[0].Content as TextBox).Text);
5 double min=Convert.Todouble((row.Cells[1].Content as TextBox).Text);
6 double max=Convert.Todouble((row.Cells[2].Content as TextBox).Text);
7 color c=(row.Cells[3].Content as RadcolorPicker).Selectedcolor;
8 ......
9 }
复制代码

4.设置新行的默认初始值

通过 BeginInsert()方法增加新行,需要设置每行每列的初始值,需要在RowLoaded方法中写方法

    RadGrID_RowLoaded(object sender,Telerik.windows.Controls.GrIDVIEw.RowLoadedEventArgs e)

 1 private voID radgrIDvIEw_RowLoaded(object sender,Telerik.windows.Controls.GrIDVIEw.RowLoadedEventArgs e)
2 {
3 ///是标题栏返回
4 if (e.Row is gridviewheaderRow)
5 return;
6
7 int rownumber=(sender as RadGrIDVIEw).Items.Count;
8
9 ///设置每列初始值
10 (e.Row.Cells[0].Content as TextBox).Text = rownumber.ToString();
11 ///颜色随机
12 Random rand = new Random();
13 byte r = Convert.ToByte(rand.Next(255));
14 byte g= Convert.ToByte(rand.Next(255));
15 byte b= Convert.ToByte(rand.Next(255));
16 (e.Row.Cells[3].Content as RadcolorPicker).Selectedcolor = color.FromArgb(180,r,g,b);
17 }
复制代码 @H_404_790@ 总结

以上是内存溢出为你收集整理的Silverlight Telerik RadGridView动态增删行及行列 *** 作全部内容,希望文章能够帮你解决Silverlight Telerik RadGridView动态增删行及行列 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1071073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存