您的位置:首页 > 其它

(牛人莫入) Silverlight 3 之控件DataGrid

2009-08-07 16:25 225 查看
上一篇文章中讲到了数据展示控件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的新朋友有所帮助;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐