【转】RadControls for Silverlight(学习1-GridView)
2013-09-08 19:43
447 查看
我在使用的版本是RadControls_for_Silverlight4_2011_1_0316,开发工具采用VS2010+SQLServer2008R2进行测试学习
Grid是我们做系统必不可少的控件了,所以我准备从这个开始,为自己留下学习痕迹。
先是了解控件属性便于下一步学习,常用属性
RadGridView
常用属性 | 说明 | DEMO名称 |
AutoGenerateColumns="False" | 是否自动产生列 | |
IsReadOnly="True" IsReadOnly="{BindingIsChecked,Mode=TwoWay,ElementName=IsReadOnlyCheckBox}" | 是否只读 | ClickEvent command |
ShowGroupPanel="False" | 是否显示分组面板(常用,一般情况下是不会用到这个的) | |
DataLoadMode="Asynchronous" | 数据加载模式 | |
RowIndicatorVisibility="Collapsed" | 行指示 | |
SelectionMode="Extended" | Command | |
CanUserDeleteRows="{BindingIsChecked,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 |
属性 | 说明 | DEMO名称 |
IsGroupable="False" | 列是否加入分组 | |
IsFilterable="False" | 列是否可过滤查询 | |
IsSortable="False" | 列是否可排序 | |
DataFormatString="{}{0:c2}" DataFormatString="{}{0:d}" | 列输入格式 |
1、产生自动编号-RowNumber
·自定义列与绑定列并存
XAML <Grid> <telerik:RadGridViewx:Name="RadGridView1"ItemsSource="{BindingCustomers}"AutoGeneratingColumn="RadGridView1_AutoGeneratingColumn"> <telerik:RadGridView.Columns> <custom:MyColumnHeader="#"Width="50"/> </telerik:RadGridView.Columns> </telerik:RadGridView> </Grid>
·自动绑定后的列取消功能(如果取消的列较多,还是需要考虑用别的方法替代)
privatevoidRadGridView1_AutoGeneratingColumn(objectsender,Telerik.Windows.Controls.GridViewAutoGeneratingColumnEventArgse)
{
if(e.Column.UniqueName=="Order"||e.Column.UniqueName=="Product")
{
e.Cancel=true;
}
}
·自定义列的处理
publicclassMyColumn:Telerik.Windows.Controls.GridViewColumn
{
publicoverrideFrameworkElementCreateCellElement(Telerik.Windows.Controls.GridView.GridViewCellcell,objectdataItem)
{
TextBlocktextBlock=cell.ContentasTextBlock;
if(textBlock==null)
{
textBlock=newTextBlock();
}
textBlock.Text=(this.DataControl.Items.IndexOf(dataItem)+1).ToString();
returntextBlock;
}
}
2、行、列、单元格只读设置
privatevoidChangeEnableStateColumn(boolisEnabled)
{
GridViewHeaderRowheaderRow=RadGridView1.ChildrenOfType<GridViewHeaderRow>().FirstOrDefault();
if(headerRow!=null)
{
GridViewCellBasecell=(fromcinheaderRow.Cells
wherec.Column.UniqueName=="EmployeeID"
selectc).FirstOrDefault();
if(cell!=null)
{
cell.IsEnabled=isEnabled;
}
}
foreach(objectiteminRadGridView1.Items)
{
GridViewRowrow=RadGridView1.ItemContainerGenerator.ContainerFromItem(item)asGridViewRow;
if(row!=null)
{
GridViewCellBasecell=(fromcinrow.Cells
wherec.Column.UniqueName=="EmployeeID"
selectc).FirstOrDefault();
if(cell!=null)
{
cell.IsEnabled=isEnabled;
}
}
}
}
privatevoidChangeEnableStateCell(boolisEnabled)
{
if(RadGridView1.Items.Count>0)
{
GridViewRowrow=RadGridView1.ItemContainerGenerator.ContainerFromItem(RadGridView1.Items[0])asGridViewRow;
if(row!=null)
{
GridViewCellBasecell=(fromcinrow.Cells
wherec.Column.UniqueName=="EmployeeID"
selectc).FirstOrDefault();
if(cell!=null)
{
cell.IsEnabled=isEnabled;
}
}
}
}
privatevoidChangeEnableStateRow(boolisEnabled)
{
if(RadGridView1.Items.Count>0)
{
GridViewRowrow=RadGridView1.ItemContainerGenerator.ContainerFromItem(RadGridView1.Items[0])asGridViewRow;
if(row!=null)
{
row.IsEnabled=isEnabled;
}
}
}
XAML <Grid> <telerik:RadGridViewx:Name="RadGridView1"ItemsSource="{BindingCustomers}"AutoGeneratingColumn="RadGridView1_AutoGeneratingColumn"> <telerik:RadGridView.Columns> <custom:MyColumnHeader="#"Width="50"/> </telerik:RadGridView.Columns> </telerik:RadGridView> </Grid>
3、设置网格线颜色
privatevoidVerticalGridLinesColorPicker_SelectedColorChanged(objectsender,EventArgse)
{
RadGridView1.VerticalGridLinesBrush=newSolidColorBrush(VerticalGridLinesColorPicker.SelectedColor);
}
privatevoidHorizontalGridLinesColorPicker_SelectedColorChanged(objectsender,EventArgse)
{
RadGridView1.HorizontalGridLinesBrush=newSolidColorBrush(HorizontalGridLinesColorPicker.SelectedColor);
}
4、保存用户对网格的设置
DEMO中saveandloadsettings中的Radgridviewsetting.cs非常用用:)
引用地址:
相关文章推荐
- RadControls for Silverlight(学习1-GridView)
- (转)RadControls+for+Silverlight(学习1-GridView)
- RadControls for Silverlight(学习1-GridView) (转载)
- RadControls for Silverlight(学习2-RadDataPager)
- RadControls for Silverlight(学习1-RadGridView)
- 【转】RadControls for Silverlight(学习2-RadDataPager)
- Silverlight:telerik RadControls中RadGridView的一个Bug及解决办法(转载)
- Telerik RadControls for Silverlight 4
- Silverlight:telerik RadControls for Silverlight 主题使用心得
- silverlight:telerik RadControls for Silverlight 主题使用心得
- Telerik RadControls for Silverlight Q3 2008可用,要是有20081117就更好了,有DATAGRID用
- RadControls for Silverlight 导出excel
- RadControls for Silverlight发布测试版
- 使用RadControls for Silverlight 2009时报无法找到System.Web.Ria
- silverlight:telerik RadControls中RadGridView的一个Bug及解决办法
- Telerik RadControls for Silverlight2 Q2 2008 Beta2
- 使用MircoModes实现RadGridview的绑定(silverlight)
- ArcGIS API for Silverlight 学习笔记(2)
- RadControlsFor.net常用异常问题
- Silverlight Telerik控件学习:RadTransitionControl