Silverlight Telerik RadGridView动态增删行及行列操作
来源:互联网 发布:如何处理sql注入 编辑:程序博客网 时间:2024/06/07 03:27
最近使用一直使用第三方控件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 }
本文来自菊花香的博客,原文地址:http://www.cnblogs.com/MR520/archive/2011/08/08/2130731.html
- Silverlight Telerik RadGridView动态增删行及行列操作
- 在Telerik for silverlight控件radtreeview、textBox、RadGridView中实现拖拉控件的操作
- silverlight telerik RadGridView 列头显示其他控件
- Telerik RadGridView汉化
- telerik:RadGridView常用属性
- telerik:RadGridView 数据绑定
- Telerik RadGridView 固定分组显示
- Silverlight动态添加数据模板(以RadGridView为例子)
- telerik 的RadGridVIew控件 单元格无法编辑
- AJAX实现分页及动态增删操作
- Easy RadControl 之 RadGridView(Silverlight)
- RadGridView
- Silverlight 利用Telerik上传文件
- telerik:RadGridView的SelectionChanged事件鼠标移动到另外的cell时自动选中的问题解决
- 使用MircoModes实现RadGridview的绑定(silverlight)
- Silverlight自定义依赖属性(实现RadGridView复选框全选)
- Telerik Silverlight CoverFlow 控件- CenterOffsetY, 图片间距
- Silverlight Telerik控件学习:主题Theme切换
- java基础与基础加强 动态代理/代理模式
- linux 下结合find 和 rm 删除大量文件
- 华为笔试题
- 驱动声明GUID
- 【Unity开发】Unity3d之MiniJson与LitJson之间的较量
- Silverlight Telerik RadGridView动态增删行及行列操作
- UITableView中Cell重用机制导致内容重复解决方法
- servlet学习日记
- jstat 详解<转>
- HTTP深入浅出 http请求
- POJ4001 Xiangqi
- WPF之导入导出Excel
- 手机GUI自动化测试介绍
- Android游戏开发之构建游戏框架View与SurFaceView的区别(十)