Telerik RadGridView动态增删行及行列操作
最近使用一直使用第三方控件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
Telerik RadGridView动态增删行及行列操作的更多相关文章
- Silverlight Telerik RadGridView动态增删行及行列操作(转载)
最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用显示控件RadGridView,使用起来比DataGird好使, 也发现有控件问题. radgridview.BeginInse ...
- SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML 1.SQL INSERT INTO 语句(在表中插入) INSERT INTO 语句用于向表中插入新记录. SQL I ...
- js动态创建表格,删除行列的小例子
js动态创建表格,删除行列的实例代码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...
- 实现动态的XML文件读写操作
实现动态的XML文件读写操作(依然带干货) 前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义 ...
- SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)
SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码) 概述: 表由行和列组成,每个表都必须有个表名. SQL CREATE TABLE 语法 CREATE TABLE tabl ...
- Hadoop---静动态增删节点
静动态增删节点 初始: 这是我现在的集群 重新克隆一个虚拟机: hadoop44:datanode(静态增加,删除和动态删除) hadoop55:datanode(动态hdfs添加,yarn动态增删) ...
- 动态PIVOT行转列
id name subject score remark1 l math 86 2 l eng 68 3 l phy 88 4 z chn 99 5 z math 92 6 z com 98 7 z ...
- 实现动态的XML文件读写操作(依然带干货)
前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义好XML文件的格式就不太现实了,如何实现不管 ...
- 百万年薪python之路 -- MySQL数据库之 MySQL行(记录)的操作(二) -- 多表查询
MySQL行(记录)的操作(二) -- 多表查询 数据的准备 #建表 create table department( id int, name varchar(20) ); create table ...
随机推荐
- Java学习记录:降低耦合度
耦合度定义 耦合度(Coupling)是对模块间关联程度的度量.耦合的强弱取决与模块间接口的复杂性.调用模块的方式以及通过界面传送数据的多少. 模块间的耦合度是指模块之间的依赖关系,包括控制关系.调用 ...
- ★浅谈Spanking情节
- 五个数据段之代码段、数据段、BSS、栈、堆
继上文讲完了对内存管理的一些知识,下面笔者再对上篇文章的内容加以拓展,那么我们今天就来说一说5个数据段 五个数据段 进程(执行的程序)会占用一定数量的内存,它或是用来存放磁盘载入的程序代码,或是存放取 ...
- 团队作业10——复审与事后分析(Beta版本)
Deadline: 2017-6-13 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目内容为后文的两个方面 Beta阶段项目复审(单独一篇博客) 事后诸葛亮分析报告(单独 ...
- JAVA基础第六组(5道题)
26.[程序26] 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母. 1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句 ...
- 结对作业1--基于GUI的四则运算
201421123002 翁珊,201421123006 黄月梅,201421123007 徐晓珊 题目描述: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程 ...
- Python中库或者模组的解释
- 201521123059 《Java程序设计》第十四周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 1.关系型数据库 --建立表格时表中一列中的数据类型必须一致.关系表中的行必须是唯一的,列是不可分的,某些行的某 ...
- Java:双括号初始化 /匿名内部类初始化法
偶然见到一种初始化方式,感到十分新奇: //新建一个列表并赋初值A.B.C ArrayList<String> list = new ArrayList<String>() { ...
- JSP引入 - UEditor 富文本编辑器
UEditor JSP 因为是项目第一天就导入了,现在过去一个多星期了,可能会有问题 官网:http://ueditor.baidu.com/website/ 1. 解压对应的UEditor压缩包至 ...