【问题标题】:Bind DataTable to WPF DataGrid with Customized Columns使用自定义列将 DataTable 绑定到 WPF DataGrid
【发布时间】:2011-05-03 21:37:38
【问题描述】:

我想将datagrid与datatable绑定,这样它就可以自动将数据显示并更新回数据库。但同时我也想自定义数据网格的列,例如对于数据表的一个特定列,我想在数据网格内的组合框中显示该列的数据(通过组合框更改的数据也应该存储回数据库)。我怎样才能做到这一点 ?我是 WPF 的新手,因此任何有关它的示例都会对我有所帮助。 提前致谢!

【问题讨论】:

    标签: wpf datagrid


    【解决方案1】:

    您需要将 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>
    

    【讨论】:

    • 我想在运行时在网格内显示组合框。场景是我的数据网格连接到数据表,在运行时这个网格将填充数据表的数据,所以那时我想在组合框中显示一列的值,应该显示在数据网格内。我想在运行时创建数据网格列,因为它们可能因数据表而异。任何这样做的例子......
    猜你喜欢
    • 2013-07-28
    • 2011-02-10
    • 2018-02-07
    • 2023-04-06
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 2013-06-20
    相关资源
    最近更新 更多