Silverlight Telerik RadGridView动态增删行及行列操作(转载)
也发现有控件问题。
///增加行
radgridview.BeginInsert();
或
使用ShowInsertRow=true;
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>
privatevoid DelRow_Click(object sender, RoutedEventArgs e)
{
var deletecommand = RadGridViewCommands.Delete as RoutedUICommand;
deletecommand.Execute(radgridview.CurrentItem, radgridview);
}
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动态增删行及行列操作(转载)的更多相关文章
- Telerik RadGridView动态增删行及行列操作
最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用显示控件RadGridView,使用起来比DataGird好使, 也发现有控件问题. 1.增行 RadGridView中使用Be ...
- Silverlight日记:动态生成DataGrid、行列装换、动态加载控件
本文主要针对使用DataGrid动态绑定数据对象,并实现行列转换效果. 一,前台绑定 <sdk:DataGrid x:Name="dataGrid2" Style=" ...
- 【转】silverlight telerik RadGridView 列头显示其他控件
<telerik:GridViewDataColumn DataMemberBinding="{Binding target_id}" IsFilterable=" ...
- Silverlight:telerik RadControls中RadGridView的一个Bug及解决办法(转载)
当RadGridView中嵌套RadComboBox,且RadGridView的高度不够出现滚动条时,上下拉动滚动条后,RadComboBox中的选中值将丢失! 如下图: 滚动条未拖动前 滚动条上下拖 ...
- js动态创建表格,删除行列的小例子
js动态创建表格,删除行列的实例代码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...
- 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 ...
- SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML 1.SQL INSERT INTO 语句(在表中插入) INSERT INTO 语句用于向表中插入新记录. SQL I ...
- 实现动态的XML文件读写操作
实现动态的XML文件读写操作(依然带干货) 前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义 ...
随机推荐
- Hash算法详解
这篇不错: https://blog.csdn.net/u014209205/article/details/80820263
- Maven学习笔记1
Maven是什么? 百度百科:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 这些描述总是让人更加难理解Maven,扔掉它,咱们先看看Mave ...
- spoj - Longest Common Substring(后缀自动机模板题)
Longest Common Substring 题意 求两个串的最长公共子串. 分析 第一个串建后缀自动机,第二个串在自动机上跑,对于自动机上的结点(状态)而言,它所代表的最大长度为根结点到当前结点 ...
- 二分+Dfs【p1902】刺杀大使
题目描述--->p1902 刺杀大使 题意概括: 找一条路径,使得从第1行到第n行路径的最大值最小. 分析: 题目概括出来,很容易想到二分. 求最大值最小,因此我们可以对最大伤害值进行二分. 如 ...
- BZOJ 3524 [Poi2014]Couriers(可持久化线段树)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3524 [题目大意] 给一个长度为n的序列a.1≤a[i]≤n. m组询问,每次询问一个 ...
- 【主席树】bzoj3653 谈笑风生
设siz[i]表示i的子树大小-1. 询问中b在a上方的便于统计. 对于b在a下方的情况,贡献为距a距离在K以内的节点的siz之和. 按dfs序建立可持久化线段树,线段树的下标是深度. 相当于把每个点 ...
- [python]关于字符串查找和re正则表达式的效率对比
最近需要在python中做大日志文件中做正则匹配 开始直接在for in 中每行做re.findall,后来发现,性能不行,就在re前面做一个基本的字符串包含判断 (str in str),如果不包含 ...
- Java高级架构师(一)第09节课:搭建基础的开发环境
- Scala实战高手****第16课:Scala implicits编程彻底实战及Spark源码鉴赏
隐式转换:当某个类没有具体的方法时,可以在该类的伴生对象或上下文中查找是否存在隐式转换,将其转换为可以调用该方法的类,通过代码简单的描述下 一:隐式转换 1.定义类Man class Man(val ...
- Android App升级Intent
点击“更新检查”,自动下载最新版本安装包,然后开始安装,进入安装界面后很快闪退. 在这两天的适配中,发现这样一个问题,即:在升级覆盖安装软件时,程序能进入安装的界面,但会很快闪退.经过多次尝试,终于找 ...