最近使用一直使用第三方控件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动态增删行及行列操作相关推荐

  1. Silverlight Telerik RadGridView动态增删行及行列操作(转载)

    最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用显示控件RadGridView,使用起来比DataGird好使, 也发现有控件问题. 1 ///增加行2 radgridview ...

  2. 动态增删表格行(纯JS写法)

    动态增删表格行(纯JS写法) 归档 进行表格下行的动态增加与删除 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional// ...

  3. 动态行转列:处理不确定数量的行转列操作

    目录 介绍 分析过程 数据样例 开始动手 添加辅助列 全连接换左连接 完成静态SQL 将动态部分设置到变量 改编为动态SQL 验证 总结 介绍 行转列操作是一种常见的数据转换技术,它可以将原始的行数据 ...

  4. Qt菜单栏、工具栏、状态栏介绍及工具栏action的动态增删显示实现方式

    Qt菜单栏.工具栏.状态栏介绍及工具栏action的动态增删显示实现方式 版本说明 版本 作者 日期 备注 0.1 loon 2018.11.12 初稿 目录 文章目录 Qt菜单栏.工具栏.状态栏介绍 ...

  5. mysql中将列动态转换为行,mysql 行转列 MySQL数据库动态行转列

    想把mysql一个表的行转成列,图1是原表,想实现图2的样式SELECT MAX(CAS就是一个动态的行列转换 CREATE TABLE `c_wssb_zz` ( `aa011` varchar(1 ...

  6. Spring Boot 实现定时任务的动态增删启停

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:jianshu.com/p/0f68936393fd 添加执 ...

  7. Spring Boot实现定时任务的动态增删启停

    欢迎关注方志朋的博客,回复"666"获面试宝典 作者 | jessehua 来源 | https://www.jianshu.com/p/0f68936393fd 在spring ...

  8. @scheduled cron动态修改_spring boot实现动态增删启停定时任务

    作者:jessehua 来源:https://www.jianshu.com/p/0f68936393fd 在spring boot项目中,可以通过@EnableScheduling注解和@Sched ...

  9. 告别硬编码,SpringBoot实现动态增删启停定时任务

    在spring boot项目中,可以通过@EnableScheduling注解和@Scheduled注解实现定时任务,也可以通过SchedulingConfigurer接口来实现定时任务.但是这两种方 ...

最新文章

  1. Ubuntu 11.1012.04 apt更新错误:Failed to fetch bzip2 packages:...Hash Sum
  2. 这次的人工智能是“有用”的人工智能
  3. 信息安全系统设计基础第十周学习总结
  4. Linux时间矫正流程,Linux 时间矫正命令
  5. 9.2 mnist_with_summaries tensorboard 可视化展示
  6. 【AI学院】老司机手把手带学言有三的经典书籍《深度学习之图像识别》,需要的赶紧上车吧...
  7. 司机和售票员问题 信号signal注册一例
  8. linux 文件io实例代码,linux 文件IO(示例代码)
  9. 图的广度优先算法+遍历
  10. 这些人生经验与常识相反
  11. linux开源软件_为什么要使用Linux和开源软件?
  12. 比dropout更好的方法_经营公司有更好的方法
  13. 主播冲刺GMV,全靠iPhone和茅台?
  14. 【U-net】【粗读】Retinal blood vessel segmentation using fully convolutional network with transfer...
  15. 宝塔安装RSSHub订阅服务
  16. 《数据结构》实验三:单链表
  17. android banner停止轮播,android如何实现banner轮播图无限轮播效果
  18. 腾讯会议使用OBS虚拟摄像头
  19. h5移动端开发中配置真机测试
  20. 原来贝叶斯统计分析这么简单?这个技巧了解一下

热门文章

  1. HTTP VS RPC
  2. input的值提交不上
  3. 分布式入门,怎样用PyTorch实现多GPU分布式训练
  4. Android PC投屏简单尝试—最终章2
  5. 携程基于大数据分析的实时风控体系
  6. 用Kotlin开发android平台语音识别,语义理解应用(olamisdk)
  7. 一篇文章读懂麦当劳发行MacCoin是什么
  8. JZOJ 5603. 【NOI2018模拟3.27】Xjz
  9. JZOJ 1251. 收费站
  10. 两端外伸梁内力计算机程序,理解材料力学核心问题:梁的弯曲 剪力弯矩图快速软件绘法...