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

时间: 2025-01-18 00:25:06

Telerik RadGridView动态增删行及行列操作的相关文章

Swing JTable动态增删行 列操作介绍(详细)

JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅. 一.创建表格控件的各种方式:1)  调用无参构造函数.JTable table = new JTable();2)  以表头和表数据创建表格.Object[][] cellData = {{"row1-col1", "row1-col2"},{"row2-col1", "row2-col2"}};String[] columnNames = {&qu

javascript动态增删行的实现

 //增加行 function doAddRow() { var bodyObj=document.getElementById("fm2_table_body"); //tbody 的id var rowCount = bodyObj.rows.length; var newRow = bodyObj.insertRow(rowCount++); var C1 = newRow.insertCell(0); var C2 = newRow.insertCell(1); C1.se

html表格动态添加删除行(有后台操作)

<HTML> <TITLE>Form Object example</TITLE> <HEAD> <script language="javascript"> function delrow1() { var oElement=event.srcElement; while(oElement.tagName!="TR") { oElement=oElement.parentElement; } var oT

js 行列操作

function insertRow() { var tbl = document.getElementById("tbCarModel"); var rowLen = tbl.childNodes.length; var newTr = tbl.insertRow(rowLen - 1); // var newTr = document.createElement("tr"); // tbl.appendChild(newTr); var td = documen

H2 database 行相加-行列转换

create or replace view view_acceptCompanyasselect *  from  (select WARNIGID,max(CASEWHEN(zhtablename='中文表名', '中文表名', null))  field1,max(CASEWHEN(zhtablename='管控类型', '管控类型', null))  field2,max(CASEWHEN(zhtablename='测试中文表名', '测试中文表名', null))  field3 ,m

sqlserver报表统计——参数化动态PIVOT行转列

先列出所有表结构: --title 报表 --table 实收水费:hx_t_received --字段 收费部门id:hx_fdepartmentid 1.收费部门名称:hx_fdepartmentname 应收水费信息ID:hx_freceivableid --收费类别:hx_ftype (水费(1):再分[开户(table) 供水类别:自来水(100000001)==水费,中水(100000002)==中水费],代理费(2)==污水处理费) --实收金额:hx_freceivedamoun

SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)

SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码) 概述: 表由行和列组成,每个表都必须有个表名. SQL CREATE TABLE 语法 CREATE TABLE table_name ( column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size), .... ); 1.查看表 exec sp_help table1; 2.创建表 create tab

将CAD图纸转换成GIF动态图纸应如何进行操作?

将CAD图纸转换成GIF动态图纸应如何进行操作?我们会经常在工作中遇到的情况就是需要将CAD图纸转换成您想要的格式,例如将CAD转换成图片的格式,但是图片也是有很多种格式的,但是我们是需要将CAD图纸转换成图片中的GIF动态图纸格式我们应该如何进行操作呢,今天小编就要来教教大家将CAD图纸转换成GIF动态图纸应如何进行操作的全部步骤,希望能够帮助到大家! 步骤一:需要进行图纸格式转换的,必须要有一款好用的转换器软件,您首先要打开你们电脑上面的迅捷CAD转换器软件,电脑上面没有这款软件的可以去到软

百万年薪python之路 -- MySQL数据库之 MySQL行(记录)的操作(一)

MySQL的行(记录)的操作(一) 1. 增(insert) insert into 表名 value((字段1,字段2...); # 只能增加一行记录 insert into 表名 values(字段1,字段2...); insert into 表名(id,name) values(字段1,字段2),(xx1,xx2); id,name,age 插入查询结果 语法: INSERT INTO 表名(字段1,字段2,字段3-字段n) SELECT (字段1,字段2,字段3-字段n) FROM 表2