RadControls for Silverlight(学习1-GridView)
来源:互联网 发布:读梦里花落知多少有感 编辑:程序博客网 时间:2024/04/30 10:05
引用:Telerik(官 网:http://www.telerik.com/)是保加利亚的一个软件公司,专注于微软.Net平台的表示层与内容管理控件。我们提供高度稳定性和丰富性能的组件产品,并可应用在非常严格的环境中。现在拥有 Microsoft, HP, Alcoa, BP, Harper Collins, Siemens, T-Mobile, HJ Heinz和一些最主要的教育机构和很多政府机关等客户。
我在使用的版本是RadControls_for_Silverlight4_2011_1_0316,开发工具采用VS2010 +SQLServer2008R2进行测试学习
Grid是我们做系统必不可少的控件了,所以我准备从这个开始,为自己留下学习痕迹。
先是了解控件属性便于下一步学习,常用属性
RadGridView
常用属性
说明
DEMO名称
AutoGenerateColumns="False"
是否自动产生列
IsReadOnly="True"
IsReadOnly="{Binding IsChecked, Mode=TwoWay, ElementName=IsReadOnlyCheckBox}"
是否只读
Click Event
command
ShowGroupPanel="False"
是否显示分组面板(常用,一般情况下是不会用到这个的)
DataLoadMode="Asynchronous"
数据加载模式
RowIndicatorVisibility="Collapsed"
行指示
SelectionMode="Extended"
Command
CanUserDeleteRows="{Binding IsChecked, Mode=TwoWay, ElementName=CanUserDeleteRowsCheckBox}"
是否可删除行
Command
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
横向竖向滚动条设定
IsFilteringAllowed="False"
列过滤查询是否可用
Enable/Disable
ShowColumnFooters="True"
是否显示列脚
Totals
ShowGroupFooters="True"
是否显示分组列脚
Totals
GridLinesVisibility=
Both
Horizontal
Vertical
网络线设置
gridlinevisiblity
GridViewDataColumn
属性
说明
DEMO名称
IsGroupable="False"
列是否加入分组
IsFilterable="False"
列是否可过滤查询
IsSortable="False"
列是否可排序
DataFormatString="{}{0:c2}"
DataFormatString="{}{0:d}"
列输入格式
GridViewDataColumn.FilteringControl :可自定义表头查询控件
1、产生自动编号-Row Number
· 自定义列与绑定列并存
XAML <Grid> <telerik:RadGridView x:Name="RadGridView1" ItemsSource="{Binding Customers}" AutoGeneratingColumn="RadGridView1_AutoGeneratingColumn"> <telerik:RadGridView.Columns> <custom:MyColumn Header="#" Width="50" /> </telerik:RadGridView.Columns> </telerik:RadGridView> </Grid>
· 自动绑定后的列取消功能(如果取消的列较多,还是需要考虑用别的方法替代)
private void RadGridView1_AutoGeneratingColumn(object sender, Telerik.Windows.Controls.GridViewAutoGeneratingColumnEventArgs e) { if (e.Column.UniqueName == "Order" || e.Column.UniqueName == "Product") { e.Cancel = true; } }· 自定义列的处理
public class MyColumn : Telerik.Windows.Controls.GridViewColumn { public override FrameworkElement CreateCellElement(Telerik.Windows.Controls.GridView.GridViewCell cell, object dataItem) { TextBlock textBlock = cell.Content as TextBlock; if (textBlock == null) { textBlock = new TextBlock(); } textBlock.Text = (this.DataControl.Items.IndexOf(dataItem) + 1).ToString(); return textBlock; } }
2、行、列、单元格只读设置
private void ChangeEnableStateColumn(bool isEnabled) { GridViewHeaderRow headerRow = RadGridView1.ChildrenOfType<GridViewHeaderRow>().FirstOrDefault(); if (headerRow != null) { GridViewCellBase cell = (from c in headerRow.Cells where c.Column.UniqueName == "EmployeeID" select c).FirstOrDefault(); if (cell != null) { cell.IsEnabled = isEnabled; } } foreach (object item in RadGridView1.Items) { GridViewRow row = RadGridView1.ItemContainerGenerator.ContainerFromItem(item) as GridViewRow; if (row != null) { GridViewCellBase cell = (from c in row.Cells where c.Column.UniqueName == "EmployeeID" select c).FirstOrDefault(); if (cell != null) { cell.IsEnabled = isEnabled; } } } } private void ChangeEnableStateCell(bool isEnabled){ if (RadGridView1.Items.Count > 0) { GridViewRow row = RadGridView1.ItemContainerGenerator.ContainerFromItem(RadGridView1.Items[0]) as GridViewRow; if (row != null) { GridViewCellBase cell = (from c in row.Cells where c.Column.UniqueName == "EmployeeID" select c).FirstOrDefault(); if (cell != null) { cell.IsEnabled = isEnabled; } } }} private void ChangeEnableStateRow(bool isEnabled) { if (RadGridView1.Items.Count > 0) { GridViewRow row = RadGridView1.ItemContainerGenerator.ContainerFromItem(RadGridView1.Items[0]) as GridViewRow; if (row != null) { row.IsEnabled = isEnabled; } }}
XAML <Grid> <telerik:RadGridView x:Name="RadGridView1" ItemsSource="{Binding Customers}" AutoGeneratingColumn="RadGridView1_AutoGeneratingColumn"> <telerik:RadGridView.Columns> <custom:MyColumn Header="#" Width="50" /> </telerik:RadGridView.Columns> </telerik:RadGridView> </Grid>
3、设置网格线颜色
private void VerticalGridLinesColorPicker_SelectedColorChanged(object sender, EventArgs e){RadGridView1.VerticalGridLinesBrush = new SolidColorBrush(VerticalGridLinesColorPicker.SelectedColor);} private void HorizontalGridLinesColorPicker_SelectedColorChanged(object sender, EventArgs e){RadGridView1.HorizontalGridLinesBrush = new SolidColorBrush(HorizontalGridLinesColorPicker.SelectedColor);}
4、保存用户对网格的设置
DEMO中saveandload settings中的Radgridviewsetting.cs非常用用:)
本文来自forrestsun 的博客,原文地址:http://www.cnblogs.com/forrestsun/archive/2011/05/13/2045859.html
- (转)RadControls+for+Silverlight(学习1-GridView)
- RadControls for Silverlight(学习1-GridView)
- RadControls for Windows 8
- Telerik RadControls for Silverlight Q3 2008可用,要是有20081117就更好了,有DATAGRID用
- 使用RadControls for Silverlight 2009时报无法找到System.Web.Ria
- RadControls for WPF Q2 2008
- RadControls for ASP.NET AJAX
- Telerik Skinning for the RadControls
- RadControls 主题在 Silverlight中的应用
- Silverlight Telerik控件学习:GridView双向绑定
- RadControls for Winforms Q2 2008 SP1
- Telerik RadControls for Silverlight2 Q2 2008 Beta2
- Telerik RadControls for Silverlight2 Q3 2008 RC0
- Telerik RadControls for ASP.NET AJAX
- supermap iclient for silverlight+iserver 6 学习总结1
- Telerik公司的RadControls控件学习笔记
- ArcGIS API for Silverlight 学习笔记
- Telerik RadControls 2007Q1 SP2 for ASP.NET VS2005
- HTTPS中SunCertPathBuilderException: unable to find valid certification path to requested target
- 王老师拼音输入法的算法
- visual C++中最常用的类与API函数
- jquery获取浏览器高度、宽度和滚动条高度
- 转载和积累系列 - C语言学习笔记 - 动态分配内存
- RadControls for Silverlight(学习1-GridView)
- 未定义整型-858993460,未定义指针0xcccccccc的含义
- 滚动条下拉不断获取新内容
- java中如何调用CMD命令及cmd大全
- 关键字restrict简介
- 决不放弃
- NHibernate笔记Ⅲ--关于EF和NH的比较
- Python中的分号
- js版本计算器