1、AutoGenerateColumns:是否自动生成列;

    CanUserAddRows:是否允许用户增加行数据,当值为true时,在DataGrid最下面有一行空白行。

    IsReadOnly:是否允许对整个表格或某些列进行修改。

    DataGridComboBoxColumn列没有Name属性,通过x:Name="自定义列名"实现;

                                              没有Binding属性,通过SelectedItemBinding="{Binding XXXX}"实现。

 

2、实例运行。

2.1、创建一个Employee类。

1     class Employee
2     {
3         public string Name { set; get; }
4         public int Age { set; get; }
5         public bool Gender { set; get; }
6         public string DeptName { set; get; }
7     }
View Code

2.2、在XMAL内对DataGrid控件的属性进行设置。

1         <DataGrid IsReadOnly="True" AutoGenerateColumns="False" CanUserAddRows="False" Height="200" HorizontalAlignment="Left" Margin="44,12,0,0" Name="dg1" VerticalAlignment="Top" Width="391" >
2             <DataGrid.Columns>
3                 <DataGridTextColumn Header="姓名" Binding="{Binding Name}" Width="100"></DataGridTextColumn>
4                 <DataGridTextColumn Header="年龄" Binding="{Binding Age}"  Width="50"></DataGridTextColumn>
5                 <DataGridCheckBoxColumn Header="性别" Binding="{Binding Gender}" Width="50"></DataGridCheckBoxColumn>
6                 <DataGridComboBoxColumn Header="部门" SelectedItemBinding="{Binding DeptName}" x:Name="colDeptName" Width="100"></DataGridComboBoxColumn>
7             </DataGrid.Columns>
8         </DataGrid>
View Code

2.3、对DataGrid进行数据绑定。

 1         private void Window_Loaded(object sender, RoutedEventArgs e)
 2         {
 3             List<Employee> employee = new List<Employee>();
 4             employee.Add(new Employee() { Name = "张三", Age = 18, Gender = true, DeptName = "开发部" });
 5             employee.Add(new Employee() { Name = "李四", Age = 19, Gender = true, DeptName = "开发部" });
 6             employee.Add(new Employee() { Name = "王五", Age = 20, Gender = false, DeptName = "测试部" });
 7             employee.Add(new Employee() { Name = "赵六", Age = 21, Gender = true, DeptName = "市场部" });
 8 
 9             List<string> deptname = new List<string>();
10             deptname.Add("开发部");
11             deptname.Add("测试部");
12             deptname.Add("市场部");
13             
14             
15             dg1.ItemsSource = employee;
16             colDeptName.ItemsSource = deptname;
17         }
View Code

2.4、运行结果。

posted on 2014-03-02 22:53  恩恩爸爸  阅读(163)  评论(0)    收藏  举报