【问题标题】:How to bind datatable value to checkbox and combobox value?如何将数据表值绑定到复选框和组合框值?
【发布时间】:2023-03-14 19:38:01
【问题描述】:

在旧版本中。我正在绑定的代码

 dgvShow.Columns["grdTest_Active"].DataPropertyName = oDTList.Columns["STATUS"].ToString();
 dgvShow.Columns["grdTest_LnkOrder"].DataPropertyName = oDTList.Columns["ORDER"].ToString();

我正在转换 WPF 中的代码,我已经采用了一个网格并在其中放置了

<DataGridTemplateColumn Header="Active" Width="50"  IsReadOnly="True">
  <DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
       <CheckBox x:Name="chkActive" IsChecked="{Binding Path=Active}" HorizontalAlignment="Center" VerticalAlignment="Center" IsEnabled="True"/>
    </DataTemplate>
   </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

<DataGridTemplateColumn Header="Order" Width="60"  IsReadOnly="True">
  <DataGridTemplateColumn.CellTemplate>
     <DataTemplate>
        <ComboBox ItemsSource="{Binding Path=Order}" />
     </DataTemplate>
   </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

当我使用时

DataGridObjectTypeList.DataContext = oDTList.DefaultView;

在 vmUCObjType Cs 文件上,它正在绑定网格,但未显示复选框和组合框数据。

我想将 oDTList 数据表值绑定到我的复选框和组合框,该怎么做?

请有人帮助我,我是 WPF 的新手。

【问题讨论】:

    标签: c# wpf checkbox datagrid combobox


    【解决方案1】:

    我已经删除了ComboBoxColumn 并在前端添加了DataGridComboBoxColumn,在后面的代码中我做了这样的事情:

    ((DataGridComboBoxColumn)dgShowList.Columns[1]).ItemsSource = DTCount.DefaultView;
    ((DataGridComboBoxColumn)dgShowList.Columns[1]).DisplayMemberPath = DTCount.Columns["Order"].ToString();
    ((DataGridComboBoxColumn)dgShowList.Columns[1]).SelectedValuePath = DTCount.Columns["Order"].ToString();
    ((DataGridComboBoxColumn)dgShowList.Columns[1]).SelectedValueBinding = new Binding("Order");
    

    【讨论】:

      【解决方案2】:

      在您的 XAML 文件中,写入

      <ComboBox x:Name="Name_ComboBox" DisplayMemberPath="Name" SelectedValuePath="id"/>
      

      在你的代码后面,放:

      Name_ComboBox.ItemSource = Table_name;
      

      (Table_name 是对您提到的表的引用)。

      然后您可以使用表达式在组合框中获取当前选定人员的 id:

      Name_ComboBox.SelectedValue
      

      【讨论】:

      • 那么复选框呢?我应该怎么做显示检查/取消选中复选框
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      • 2012-02-12
      • 2017-10-08
      相关资源
      最近更新 更多