【发布时间】:2011-05-03 21:37:38
【问题描述】:
我想将datagrid与datatable绑定,这样它就可以自动将数据显示并更新回数据库。但同时我也想自定义数据网格的列,例如对于数据表的一个特定列,我想在数据网格内的组合框中显示该列的数据(通过组合框更改的数据也应该存储回数据库)。我怎样才能做到这一点 ?我是 WPF 的新手,因此任何有关它的示例都会对我有所帮助。 提前致谢!
【问题讨论】:
我想将datagrid与datatable绑定,这样它就可以自动将数据显示并更新回数据库。但同时我也想自定义数据网格的列,例如对于数据表的一个特定列,我想在数据网格内的组合框中显示该列的数据(通过组合框更改的数据也应该存储回数据库)。我怎样才能做到这一点 ?我是 WPF 的新手,因此任何有关它的示例都会对我有所帮助。 提前致谢!
【问题讨论】:
您需要将 DataGrid 的 AutoGenerateColumns 设置为 false,然后指定您自己的列列表。这是一个粗略的例子:
<DataGrid.Columns>
<DataGridTextColumn Header="Date" Binding="{Binding Path=MyDateColumn, StringFormat={}{0:MM/dd/yy hh:mmt}}" />
<DataGridTextColumn Header="Name" Binding="{Binding Path=NameColumn}" />
<DataGridTemplateColumn Header="SomeValue">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{StaticResource ComboBoxItems}"
SelectedItem="{Binding Path=SomeValueColumn}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
【讨论】: