写在前面的话,本系列是本人的笔记。
1只是一个索引,很多可能都不会有很多具体的内容。
2有新的体会或者技巧,资源的话,我会来更新。并用日期注明
DataGrid (用于 Silverlight 的 .NET Framework 类库)
//(what)
datagrid 有什么用?
@1绑定数据。如果你需要你的数据编辑后可以更新你的数据源。
需要实现INotifyCollectionChanged接口。
@2 两种定义 显示数据的 方法
1 使用 AutoGeneratingColumn 自动生成,一般来说不够灵活,其实一般的要求也可以达到
{ 自定义行头的解决办法:
@1数据 使用 displayname
@2自定义 AutoGeneratingColumn="dataGrid1_AutoGeneratingColumn"
if (e.PropertyName == " DueDate " )
{
// Create a new template column.
DataGridTemplateColumn templateColumn = new DataGridTemplateColumn();
templateColumn.Header = " Due Date " ;
templateColumn.CellTemplate = (DataTemplate)Resources[ " dueDateCellTemplate " ];
templateColumn.CellEditingTemplate = (DataTemplate)Resources[ " dueDateCellEditingTemplate " ];
templateColumn.SortMemberPath = " DueDate " ;
// ...
}
2 xaml中定义模板。这个比较泛滥。
@3分组、排序和筛选
使用 PagedCollectionView。
if (pagedCollectionView.CanSort)
{
pagedCollectionView.SortDescriptions.Add( new SortDescription( " Sequence " , ListSortDirection.Ascending));
}
// 分组
if (pagedCollectionView.CanGroup)
{
var pgd1 = new PropertyGroupDescription( " Sequence " );
pagedCollectionView.GroupDescriptions.Add(pgd1);
pagedCollectionView.GroupDescriptions.Remove(pgd1);
// pagedCollectionView.GroupDescriptions.Add(pgd1);
}
// 过滤
if (pagedCollectionView.CanFilter)
{
Predicate < object > predicate = new Predicate < object > (FilterCompletedTasks);
pagedCollectionView.Filter += predicate;
}
// 过滤
public bool FilterCompletedTasks( object t)
{
KF_Section task = t as KF_Section;
return (task.Display == 1 ); // 保留DISPLAY属性是1的
}
@4编辑
@5验证
在datagrid上面验证
@6分页
与datapager控件结合
pagedCollectionView.PageSize = 5;
dataPager1.Source = pagedCollectionView;
资源索引:
以下是目录
如何:向页中添加 DataGrid 控件
DataGrid 控件中的默认键盘和鼠标行为
如何在 DataGrid 控件中显示和配置行详细信息
如何:自定义 DataGrid 控件中自动生成的列
如何对 DataGrid 控件中的数据进行分组、排序和筛选
演练:使用属性自定义 DataGrid 控件DataGrid 控件中的
调整大小选项DataGrid 控件中的调整大小选项
2 Silverlight控件应用系列索引 代码贴的多啊。。。看起来有点乱。
图(没有过滤了)
------------------------------------------------------------------------------------------------------------
2010-6-10
------------------------------------------------------------------------------------------------------------
pagedCollectionView.PageSize = 5;
应该在绑定数据源之后执行才有效。
资源
模板样式和类型
http://msdn.microsoft.com/zh-cn/library/cc278066(v=VS.95).aspx
------------------------------------------------------------------------------------------------------------
2010-6-10 updata13:46
------------------------------------------------------------------------------------------------------------
http://silverlightchina.net/html/zhuantixilie/getstart/2010/0409/978.html