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
转载于:https://www.cnblogs.com/qq247039968/p/4062008.html
Telerik RadGridView动态增删行及行列操作相关推荐
- Silverlight Telerik RadGridView动态增删行及行列操作(转载)
最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用显示控件RadGridView,使用起来比DataGird好使, 也发现有控件问题. 1 ///增加行2 radgridview ...
- 动态增删表格行(纯JS写法)
动态增删表格行(纯JS写法) 归档 进行表格下行的动态增加与删除 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional// ...
- 动态行转列:处理不确定数量的行转列操作
目录 介绍 分析过程 数据样例 开始动手 添加辅助列 全连接换左连接 完成静态SQL 将动态部分设置到变量 改编为动态SQL 验证 总结 介绍 行转列操作是一种常见的数据转换技术,它可以将原始的行数据 ...
- Qt菜单栏、工具栏、状态栏介绍及工具栏action的动态增删显示实现方式
Qt菜单栏.工具栏.状态栏介绍及工具栏action的动态增删显示实现方式 版本说明 版本 作者 日期 备注 0.1 loon 2018.11.12 初稿 目录 文章目录 Qt菜单栏.工具栏.状态栏介绍 ...
- mysql中将列动态转换为行,mysql 行转列 MySQL数据库动态行转列
想把mysql一个表的行转成列,图1是原表,想实现图2的样式SELECT MAX(CAS就是一个动态的行列转换 CREATE TABLE `c_wssb_zz` ( `aa011` varchar(1 ...
- Spring Boot 实现定时任务的动态增删启停
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:jianshu.com/p/0f68936393fd 添加执 ...
- Spring Boot实现定时任务的动态增删启停
欢迎关注方志朋的博客,回复"666"获面试宝典 作者 | jessehua 来源 | https://www.jianshu.com/p/0f68936393fd 在spring ...
- @scheduled cron动态修改_spring boot实现动态增删启停定时任务
作者:jessehua 来源:https://www.jianshu.com/p/0f68936393fd 在spring boot项目中,可以通过@EnableScheduling注解和@Sched ...
- 告别硬编码,SpringBoot实现动态增删启停定时任务
在spring boot项目中,可以通过@EnableScheduling注解和@Scheduled注解实现定时任务,也可以通过SchedulingConfigurer接口来实现定时任务.但是这两种方 ...
最新文章
- Ubuntu 11.1012.04 apt更新错误:Failed to fetch bzip2 packages:...Hash Sum
- 这次的人工智能是“有用”的人工智能
- 信息安全系统设计基础第十周学习总结
- Linux时间矫正流程,Linux 时间矫正命令
- 9.2 mnist_with_summaries tensorboard 可视化展示
- 【AI学院】老司机手把手带学言有三的经典书籍《深度学习之图像识别》,需要的赶紧上车吧...
- 司机和售票员问题 信号signal注册一例
- linux 文件io实例代码,linux 文件IO(示例代码)
- 图的广度优先算法+遍历
- 这些人生经验与常识相反
- linux开源软件_为什么要使用Linux和开源软件?
- 比dropout更好的方法_经营公司有更好的方法
- 主播冲刺GMV,全靠iPhone和茅台?
- 【U-net】【粗读】Retinal blood vessel segmentation using fully convolutional network with transfer...
- 宝塔安装RSSHub订阅服务
- 《数据结构》实验三:单链表
- android banner停止轮播,android如何实现banner轮播图无限轮播效果
- 腾讯会议使用OBS虚拟摄像头
- h5移动端开发中配置真机测试
- 原来贝叶斯统计分析这么简单?这个技巧了解一下