最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用显示控件RadGridView,使用起来比DataGird好使,

也发现有控件问题。

1 ///增加行2 radgridview.BeginInsert();

    或

    使用ShowInsertRow=true;

1 radgridview.ShowInsertRow=true;

2.删行

RadGridView中也提供删除行方法,这个需要使用Teleri中的命令telerik:RadGridViewCommands.Delete,

    同时设置CommandParameter对行绑定

<telerik:GridViewColumn Header="Delete" >
        <telerik:GridViewColumn.CellTemplate>
            <DataTemplate>
                <telerik:RadButton Content="Delete"
                     Command="telerik:RadGridViewCommands.Delete"
                                    CommandParameter="{Binding}" />
            </DataTemplate>
        </telerik:GridViewColumn.CellTemplate>
    </telerik:GridViewColumn>

如图:

写成如下方式也与上面效果一样:

<telerik:GridViewColumn Header="Delete" >
        <telerik:GridViewColumn.CellTemplate>
            <DataTemplate>
                <telerik:RadButton Content="Delete"
                                         ///调用方法
                                         Click="DelRow_Click" />
            </DataTemplate>
        </telerik:GridViewColumn.CellTemplate>
    </telerik:GridViewColumn>

1 privatevoid 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()方法

foreach (var item in radgridview.Items)
 {
      GridViewRow row = radgridview.ItemContainerGenerator.ContainerFromItem(item) as GridViewRow;
      int level=Convert.ToInt32((row.Cells[0].Content as TextBox).Text);
      double min=Convert.ToDouble((row.Cells[1].Content as TextBox).Text);
      double max=Convert.ToDouble((row.Cells[2].Content as TextBox).Text);
      Color c=(row.Cells[3].Content as RadColorPicker).SelectedColor;
                  ......
 }

4.设置新行的默认初始值

通过 BeginInsert()方法增加新行,需要设置每行每列的初始值,需要在RowLoaded方法中写方法

    RadGrid_RowLoaded(object sender, Telerik.Windows.Controls.GridView.RowLoadedEventArgs e)

private void radgridview_RowLoaded(object sender, Telerik.Windows.Controls.GridView.RowLoadedEventArgs e)
 {
                ///是标题栏返回
             if (e.Row is GridViewHeaderRow)
                 return;
 
             int rownumber=(sender as RadGridView).Items.Count;
 
             ///设置每列初始值
             (e.Row.Cells[0].Content as TextBox).Text = rownumber.ToString();
             ///颜色随机
             Random rand = new Random();
             byte r = Convert.ToByte(rand.Next(255));
             byte g= Convert.ToByte(rand.Next(255));
             byte b= Convert.ToByte(rand.Next(255));
             (e.Row.Cells[3].Content as RadColorPicker).SelectedColor = Color.FromArgb(180,r,g,b);
 }

Silverlight Telerik RadGridView动态增删行及行列操作(转载)相关推荐

  1. Telerik RadGridView动态增删行及行列操作

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. lex 词法分析 linux,lex语言词法分析
  2. java线程概念_《Java基础知识》Java线程的概念
  3. gradle 配置java 项目maven 依赖
  4. RT-Thread Pin设备驱动API应用介绍
  5. 成人高考大学计算机基础答案,江苏省2019年成人高考大学计算机基础统考样卷...
  6. 【.NET Core项目实战-统一认证平台】第十一章 授权篇-密码授权模式
  7. EFCore2.0@Xamarin.Forms
  8. OPENSSL X509证书验证
  9. VS集成Qt开发入门(简易时间显示)
  10. Flink的状态一致性
  11. java有哪些类_Java中常用的类有哪些?
  12. Linux性能调优集合
  13. 数据库软删除php,应用 Laravel 的软删除你需要注意的几点
  14. linux用户及组管理实训,实训 Linux下用户和组的管理和权限命令操作.doc
  15. PDF英文快速翻译为中文
  16. Linux进程调度策略
  17. HDOJ:1863畅通工程
  18. 【面试必备】编程学java还是c
  19. mapbox tippecanoe切矢量瓦片参数设置和注意事项
  20. 码出高效JAVA代码

热门文章

  1. 影响软件测试未来的5件事 (译)
  2. web安全之windows系统基础
  3. 修改IIS默认的30M
  4. [POJ3630] Phone List
  5. p1273  日常打表
  6. 201671010144 2016-2017-2 《java程序设计》--认识java!
  7. Ado.net连接池 sp_reset_connection 概念
  8. 需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP...
  9. SpecFlow特性介绍1-Step Definitions
  10. 转,帅气的表格隔行换色+鼠标经过变色、点击变色