Silverlight 2 的 DataGrid 基本使用方法
2008-06-22 00:15
429 查看
Silverlight 2. 0 beta 中据说对 DataGrid 控件有了不少增强,于是在网上搜了下,找到该项目的 PM 写的一个介绍帖子:
http://blogs.msdn.com/scmorris/archive/2008/03/21/using-the-silverlight-datagrid.aspx
看了看还是太简单了点。从这个例子里发现 Silverlight 和 asp.net 中指定数据源的语法不同,需要指定给 ItemsSource 属性。另外也支持 AutoGenerateColumns,并且有一些简单的属性可以对 Grid 的外观进行定制。
另外一个需要注意的就是,页面初始化动作需要在当前 Page 的构造函数中,InitializeComponents() 调用后手工插入相关代码。而没有类似 asp.net 中 Page_Load 一样的东东。
指定自定义列可通过 <DataGrid.Columns> 来定义,类似于 asp.net.
在这篇文章
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/03/27/10290.aspx
中,有一个 DataGrid 进行数据 CRUD 操作的例子。其基本原理是:使用自定义的数据行来展现数据,并且在数据行中附带一个 RowState 属性来跟踪行状态,一旦表格中的数据发生编辑操作,可通过 CommittingCellEdit 事件获得通知。在这里就可以逐行检查行的状态,并将 UI 的更新持久化到后台的数据存储。
另外,其数据存储是采用一个字段来保存:
private ObservableCollection<DataRow> data;
ObservableCollection<T> 能跟踪内含数据的更改。
(存疑:
void OnLoaded(object sender, RoutedEventArgs e)
{
data = new ObservableCollection<DataRow>();
theGrid.DataContext = data;
theGrid.ItemsSource = data;
}
这里指定数据的代码同时指定了 DataContext 和 ItemsSource 属性值,它们有什么区别呢?今天太晚了,下次再看。)
关于 Silverlight 的 DataGrid 控件目前我发现两个问题:
1. 在拖动列标题改变列宽的时候,似乎有时候下面的数据列不能同步变化,不知道是不是 bug.
2. 不支持鼠标滚轮卷动数据。
现在看来这些问题不解决还不能正式应用到项目中去,再等一阵看看了。
http://blogs.msdn.com/scmorris/archive/2008/03/21/using-the-silverlight-datagrid.aspx
看了看还是太简单了点。从这个例子里发现 Silverlight 和 asp.net 中指定数据源的语法不同,需要指定给 ItemsSource 属性。另外也支持 AutoGenerateColumns,并且有一些简单的属性可以对 Grid 的外观进行定制。
另外一个需要注意的就是,页面初始化动作需要在当前 Page 的构造函数中,InitializeComponents() 调用后手工插入相关代码。而没有类似 asp.net 中 Page_Load 一样的东东。
指定自定义列可通过 <DataGrid.Columns> 来定义,类似于 asp.net.
在这篇文章
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/03/27/10290.aspx
中,有一个 DataGrid 进行数据 CRUD 操作的例子。其基本原理是:使用自定义的数据行来展现数据,并且在数据行中附带一个 RowState 属性来跟踪行状态,一旦表格中的数据发生编辑操作,可通过 CommittingCellEdit 事件获得通知。在这里就可以逐行检查行的状态,并将 UI 的更新持久化到后台的数据存储。
另外,其数据存储是采用一个字段来保存:
private ObservableCollection<DataRow> data;
ObservableCollection<T> 能跟踪内含数据的更改。
(存疑:
void OnLoaded(object sender, RoutedEventArgs e)
{
data = new ObservableCollection<DataRow>();
theGrid.DataContext = data;
theGrid.ItemsSource = data;
}
这里指定数据的代码同时指定了 DataContext 和 ItemsSource 属性值,它们有什么区别呢?今天太晚了,下次再看。)
关于 Silverlight 的 DataGrid 控件目前我发现两个问题:
1. 在拖动列标题改变列宽的时候,似乎有时候下面的数据列不能同步变化,不知道是不是 bug.
2. 不支持鼠标滚轮卷动数据。
现在看来这些问题不解决还不能正式应用到项目中去,再等一阵看看了。
相关文章推荐
- Silverlight 2 的 DataGrid 基本使用方法
- Silverlight中使用MVVM方式进行datagrid的内嵌combobox方法
- Silverlight学习点滴之三——DataGrid的基本使用
- 在Silverlight页面里显示HTML的免费控件下载(附使用方法代码)
- Fragment详解之二——基本使用方法
- Sailprint打印组件的基本使用方法。
- easyui datagrid 表格组件列属性formatter和styler使用方法
- DataGrid使用小结(二)——常用函数方法
- 一些关于git的基本使用方法
- Android笔记】Notification和NotificationManager的基本使用方法(转)
- HTML5 canvas绘图基本使用方法
- silverlight中datagrid的水平滚动条拖动bug及解决方法
- JSP中的JavaBean的基本使用方法
- ROS_Kinetic_14 ROS工具roswtf的基本使用方法等
- nginx基本使用方法
- TotoiseSVN的基本使用方法
- HttpClient类包基本使用方法
- easyui 中datagrid的使用方法
- Google Gear 基本使用方法
- easyui datagrid 表格组件列属性formatter和styler使用方法