引用: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,ElementName=CanUserDeleteRowsCheckBox}" |
是否可删除行 |
ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" |
横向竖向滚动条设定 |
IsFilteringallowed="False" |
列过滤查询是否可用 |
Enable/disable |
||
ShowColumnFooters="True" |
是否显示列脚 |
Totals |
||||||
ShowGroupFooters="True" |
是否显示分组列脚 |
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> >
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 { 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、行、列、单元格只读设置
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 "EmployeeID" select c).FirstOrDefault(); null) { cell.IsEnabled = isEnabled; } } } } void ChangeEnableStateCell(bool isEnabled) { if (RadGridView1.Items.Count > 0) { GridViewRow row = RadGridView1.ItemContainerGenerator.ContainerFromItem (RadGridView1.Items[0]) null) { cell.IsEnabled = isEnabled; } } } } void ChangeEnableStateRow(bool isEnabled) { null) { row.IsEnabled = isEnabled; } } }
3、设置网格线颜色
void VerticalGridLinesColorPicker_SelectedColorChanged(nesBrush = new SolidColorBrush (VerticalGridLinesColorPicker.SelectedColor); } void HorizontalGridLinesColorPicker_SelectedColorChanged(nesBrush = new SolidColorBrush (HorizontalGridLinesColorPicker.SelectedColor); }
4、保存用户对网格的设置
DEMO中saveandload settings中的Radgridviewsetting.cs非常用用:)
本文来自forrestsun 的博客,原文地址:http://www.cnblogs.com/forrestsun/archive/2011/05/13/2045859.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。