我正在使用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将数据网格中的值绑定到组合框,但这无法正常工作。
Screenshot of the program here
如果查看屏幕截图,则可以在第二列(状态)中看到组合框。如上所述,所有其他字段直接来自DataTable。在“数据表”中,此列第一行的值未批准,现在我手动选择了它,但通常应自动加载。
答案 0 :(得分:0)
您可以使用DataGridComboBoxColumn
并将ItemsSource属性设置为字符串的集合(“未批准”,“保留”等)