将列从数据表绑定到组合框

时间:2018-11-26 08:35:17

标签: c# wpf

我正在尝试将DataTable列绑定到组合框,我的DataTable名称为“ Types”,其中一列,此列的标题为“ Type”。

我尝试了以下方法:

private DataTable dt;
public MainWindow()
{
   InitializeComponent();
   dt=Query();// return datatable from the database
   myComboBox.DataContext =dt;
}

但是组合框仍然为空(数据表不是)

我尝试了this的答案,但是在C#wpf中我没有myComboBox.ComboBox.DataSource属性

3 个答案:

答案 0 :(得分:0)

使用ComboBox.ItemsSource

如果您的DataTable继承自IEnumerable,则可以直接进行设置,否则可以从List创建一个DataTable

示例代码(假设DataTable继承自IEnumerable):

myComboBox.ItemsSource = dt;

答案 1 :(得分:0)

尝试一下:

private DataTable dt;
public MainWindow()
{
   InitializeComponent();
   dt=Query();// return datatable from the database
   myComboBox.ItemsSource = dt.AsEnumerable().Select(x => x["Type"].ToString()).ToList();
}

答案 2 :(得分:0)

您可以尝试一下。

this.myComboBox.datasource=dt;