您的位置:首页 > 其它

WPF学习1 DataGrid 采用模板列进行数据绑定

2013-05-07 11:43 495 查看


先看效果图,上图是绑定后的样子,

窗体界面代码:

<DataGrid Name="FileDataGrid" AutoGenerateColumns="False"   Height="150" CanUserAddRows = "false">
<DataGrid.Columns>
<DataGridTemplateColumn Header="文件名"  Width="200*" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding FileName}" Width="200" Height="25" VerticalAlignment="Center" TextAlignment="Left" />

</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="文件描述"  Width="200*" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding FileDesc}" Width="200" Height="25" VerticalAlignment="Center" TextAlignment="Left" />

</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--<DataGridTextColumn Header="文件名" Width="120*" Binding="{Binding FileName}"/>
<DataGridTextColumn Header="文件描述" Width="150*" Binding="{Binding FileDesc}"/>-->
</DataGrid.Columns>
</DataGrid>


要显示几列,就添加几个模板列,这里采用了模板列,采用模板列的好处,可自定义列,在DataTemplete中,可以采用灵活的排版,自定义要绑定的数据的宽度,高度,调节要绑定数据的样式,注意,DataGrid 中AutoGenerateColumns属性一定要设置成"false",
在.cs文件里,把 集合赋值dataGrid的itemsource属性,这样就完成DataGrid数据绑定了。.cs文件中的代码如下:

private void BindData()
{
total = sfList.Count;
var temp = sfList.Skip(pager.PageSize * (pager.PageCurrent - 1)).Take(pager.PageSize).ToList();
FileDataGrid.ItemsSource = temp;
}

/// <summary>
/// 加载数据
/// </summary>
private void ReLoadData()
{
FileService fs = new FileService();
var tempList = fs.GetAllSalaryFile();
sfList = new List<SalaryFile>();
if (tempList != null)
{
SalaryFile sf = null;
foreach (var item in tempList)
{
sf = new SalaryFile { FileName = item };
sfList.Add(sf);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: