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 ...
随机推荐
- 大家一起来找茬(BUG)
大家一起来找茬(BUG) ----------目录---------- 一.上手体验 1.主界面 2.功能 二.程序的 BUG 三.必应词典的 BUG 1."每日一句"里的句子不能 ...
- 英语APP体验
第一部分 1.下载并使用,描述最简单直观的个人第一次上手体验. 感觉不是很好用,可能是个人习惯吧,之前用的都是扇贝单词和有道词典,所以不是特别顺手. 2.找出几个功能性的比较严重的 bug 在口语挑战 ...
- 2015级软工实践k班第一次作业-准备
第一次作业-准备······ 几篇文章阅读下来发现一个事实,还是要有明确的目标,清楚自己需要做什么最为重要.然后根据目标确定需要为之所做的准备工作,考研也好,工作也罢,都是服务于自己的目标. 问题答应 ...
- 团队作业4---第一次项目冲刺(ALpha)版本 第五天
一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 a.完成所有基础功能 b.正在进行测试调试 四.困难与问题 1.根据测试需求功能,部分基础功能不能实现,性能不达标,后续已完成 ...
- Swing-JTable的渲染器与编辑器使用demo
JTable的内容.外观.事件响应在很大程度上是由渲染器与编辑器控制的.具体说来,渲染器负责单元格的外观比如前景色.背景色,以及单元格提示:编辑器负责单元格的内容和事件响应.编辑器默认为文本框形式,也 ...
- 201521123057 《Java程序设计》 第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容 2. 书面作业 1.List中指定元素的删除(题目4-1) 1.1 实验总结 答:remove中注意应该使用eq ...
- Java多态总结
面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点. 1.定义: 多态:指允许不同类的对象对同一消息做出响应.即同一消息可 ...
- Fabric 1.0的多机部署
Fabric1.0已经正式发布一段时间了,官方给出的单机部署的脚本也很完备,基本上傻瓜式的一键部署,直接运行官方的network_setup.sh up即可.但是在实际生产环境,我们不可能把所有的节点 ...
- LINUX - awk命令之NF和$NF区别 (转)
NF和$NF 区别问答:(转)1.awk中$NF是什么意思?#pwd/usr/local/etc~# echo $PWD | awk -F/ '{print $NF}'etcNF代表:浏览记录的域的个 ...
- mybatis-分页显示数据
分页用到的两个实体类 package com.yangwei.shop.entity; /** * 注意 get,set,remove 方法与一般的实体类的不同*/ public class Syst ...