DataGrid 中的 WPF ComboBox 动态绑定到 DataTable

我正在使用 VB.net 处理 WPF 项目,对于一个特定部分,我需要显示(部分)可编辑的 MySQL 表(至少某些字段是)。


现在,我通过将 MySQL 数据库中的数据加载到 DataTable 中来实现这一点,DataGrid 从中提取其所有值。此 DataGrid 中的一列是具有 4 个默认选项的组合框,但我无法使其工作,即此组合框中的选定值已链接到数据表(通过将绑定设置为数据表中的列).'


这是 ComboBox 的当前 XAML 代码。


<DataGridTemplateColumn Header="Status" CellStyle="{StaticResource DataGridComboBox}">

    <DataGridTemplateColumn.CellTemplate>

        <DataTemplate>

            <ComboBox Margin="2" SelectedValue="{Binding XPath=item_status}">

                <ComboBoxItem Name="not_approved">Not Approved</ComboBoxItem>

                <ComboBoxItem Name="on_hold">On Hold</ComboBoxItem>

                <ComboBoxItem Name="approved">Approved</ComboBoxItem>

                <ComboBoxItem Name="ad_hoc">Ad Hoc</ComboBoxItem>

            </ComboBox>

        </DataTemplate>

    </DataGridTemplateColumn.CellTemplate>

</DataGridTemplateColumn>

我尝试通过设置 SelectedValue 将数据网格中的值绑定到组合框,但这不起作用。

http://img1.mukewang.com/61221eb500012f4104640176.jpg

如果您查看屏幕截图,您可以在第二列(状态)中看到组合框。如上所述,所有其他字段都直接来自 DataTable。在 DataTable 中,第一行此列中的值是 Not Approved,现在我手动选择了它,但通常这应该会自动加载。


弑天下
浏览 648回答 1
1回答

UYOU

您可以使用DataGridComboBoxColumnItemsSource 属性并将其设置为字符串集合('Not Approved'、'On Hold' 等)
打开App,查看更多内容
随时随地看视频慕课网APP