(牛人莫入) Silverlight 3 之控件DataGrid
在上一篇文章中讲到了数据展示控件DataForm简单的用法,接下来将代给大家另一个数据展示的控件DataGrid;
它的用法也很简单;
说明:本篇内容是自身的学习笔记,提供学习SL的朋友,只供参考;
阅读对象:只针对SL的初学者阅读,如果你是牛人请绕道而行;谢谢;
开发环境:VS2008 + SP1 ,SL3,windos Server 2003(全为中文版)
一、最终运行结果如下:
1.自定义列头
2.默认列头
3.列头拉到
二、开发步骤
1.打开VS 2008 新建一个SL 的项目文件,并在MainPage.xaml文件中添加如下代码;
<data:DataGrid x:Name="MyDataGrid" Width="390" Height="300" ItemsSource="{Binding}" AutoGenerateColumns="True" > </data:DataGrid>
参数说明:
AutoGenerateColumns | 自动生成列头 |
ItemsSource | 绑定数据 |
2.新建一个数据访问类,取名为Customer,代码如下:
public class Customer { public string UserName { get; set; } public Sex UserSex { get; set; } public string UserAddress { get; set; } } public enum Sex { male, female
}
3.对后台数据的绑定,示例代码如下:
public void BindDataGrid() { System.Collections.ObjectModel.ObservableCollection<Customer> customer = new System.Collections.ObjectModel.ObservableCollection<Customer>(); customer.Add(new Customer() { UserAddress = "四川", UserName = "曹代明", UserSex = Sex.male }); customer.Add(new Customer() { UserAddress = "北京", UserName = "李四", UserSex = Sex.female }); customer.Add(new Customer() { UserAddress = "天津", UserName = "张三", UserSex = Sex.male }); customer.Add(new Customer() { UserAddress = "西安", UserName = "王伍", UserSex = Sex.male }); customer.Add(new Customer() { UserAddress = "台湾", UserName = "杨七", UserSex = Sex.female }); MyDataGrid.DataContext = customer; }
二、自定义列头,代码如下:
<Grid x:Name="LayoutRoot"> <data:DataGrid x:Name="MyDataGrid" Width="390" Height="300" ItemsSource="{Binding}" AutoGenerateColumns="False" CanUserResizeColumns="False" CanUserSortColumns="False" ColumnHeaderHeight="50" ColumnWidth="130"> <data:DataGrid.Columns > <data:DataGridTextColumn Header="姓名" Binding="{Binding UserName}"/> <data:DataGridTextColumn Header="性别" Binding="{Binding UserSex}"/> <data:DataGridTextColumn Header="地址" Binding="{Binding UserAddress}"/> </data:DataGrid.Columns> </data:DataGrid> </Grid>
这个地方有一点像ASP.NET 中的DataGrid的数据绑定,也是创建一个模板列的数据;
参数说明:
CanUserResizeColumns | 垃动列头,默认为TRUE |
CanUserSortColumns | 排序,默认为TRUE |
ColumnHeaderHeight | 列头的高度 |
ColumnWith | 列头的宽度 |
Binding | 数据绑定 {Binding}全部数据,{Binding 字段}表示绑定指定的字段 |
控件的属性很多,在这里就不为每一个属性说明;
三、结束语
DataGrid控件在项目中用得非常的广泛,在用的时候它自身提供的东西很少,不能满足大家不同项目中的要求,所以往往
在项目中还得对控件进行扩展满足自己的要求;本示例就没有更层次的去写,只是代给大家和自身的一个入门级的DEMO,希望对刚接足SL的新朋友有所帮助;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步