WPF学习1 DataGrid 采用模板列进行数据绑定
先看效果图,上图是绑定后的样子,
窗体界面代码:
1 <DataGrid Name="FileDataGrid" AutoGenerateColumns="False" Height="150" CanUserAddRows = "false"> 2 <DataGrid.Columns> 3 <DataGridTemplateColumn Header="文件名" Width="200*" IsReadOnly="True"> 4 <DataGridTemplateColumn.CellTemplate> 5 <DataTemplate> 6 <StackPanel Orientation="Horizontal"> 7 <TextBlock Text="{Binding FileName}" Width="200" Height="25" VerticalAlignment="Center" TextAlignment="Left" /> 8 9 </StackPanel> 10 </DataTemplate> 11 </DataGridTemplateColumn.CellTemplate> 12 </DataGridTemplateColumn> 13 <DataGridTemplateColumn Header="文件描述" Width="200*" IsReadOnly="True"> 14 <DataGridTemplateColumn.CellTemplate> 15 <DataTemplate> 16 <StackPanel Orientation="Horizontal"> 17 <TextBlock Text="{Binding FileDesc}" Width="200" Height="25" VerticalAlignment="Center" TextAlignment="Left" /> 18 19 </StackPanel> 20 </DataTemplate> 21 </DataGridTemplateColumn.CellTemplate> 22 </DataGridTemplateColumn> 23 <!--<DataGridTextColumn Header="文件名" Width="120*" Binding="{Binding FileName}"/> 24 <DataGridTextColumn Header="文件描述" Width="150*" Binding="{Binding FileDesc}"/>--> 25 </DataGrid.Columns> 26 </DataGrid>
要显示几列,就添加几个模板列,这里采用了模板列,采用模板列的好处,可自定义列,在DataTemplete中,可以采用灵活的排版,自定义要绑定的数据的宽度,高度,调节要绑定数据的样式,注意,DataGrid 中AutoGenerateColumns属性一定要设置成"false",
在.cs文件里,把 集合赋值dataGrid的itemsource属性,这样就完成DataGrid数据绑定了。.cs文件中的代码如下:
1 private void BindData() 2 { 3 total = sfList.Count; 4 var temp = sfList.Skip(pager.PageSize * (pager.PageCurrent - 1)).Take(pager.PageSize).ToList(); 5 FileDataGrid.ItemsSource = temp; 6 } 7 8 /// <summary> 9 /// 加载数据 10 /// </summary> 11 private void ReLoadData() 12 { 13 FileService fs = new FileService(); 14 var tempList = fs.GetAllSalaryFile(); 15 sfList = new List<SalaryFile>(); 16 if (tempList != null) 17 { 18 SalaryFile sf = null; 19 foreach (var item in tempList) 20 { 21 sf = new SalaryFile { FileName = item }; 22 sfList.Add(sf); 23 } 24 } 25 }
作者:逐帆
出处:http://www.cnblogs.com/langhua/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。