我在visual studio项目中创建了一个数据集,该数据集连接到Microsoft Acess数据库。我想将表中特定列的值填充到组合框的项目(即下拉框)中。为此,我创建了一个名为“empnames”的表适配器和一个方法“GetDataByName()”,它只选择所需的列。
首先我试过这个
comboBox1.ItemsSource = empnames.GetDataByName()。ToString();
为此,我将表名中的字母作为组合框的不同项。例如,如果表名是emp_data,我在组合框中得到8个项目,即'e','m','p','d','a','t','a'。
你能帮我找到合适的结果吗?
由于
代码:
private void Window_Loaded(object sender, RoutedEventArgs e) {
SampleDataSetTableAdapters.Emp_dataTableAdapter empnames = new SampleDataSetTableAdapters.Emp_dataTableAdapter();
comboBox1.ItemsSource = empnames.GetDataByName();
}
这是填充组合框项目的方法的代码。 GetDataByName()是使用表适配器查询配置向导设计的。返回类型是数据表。
答案 0 :(得分:2)
您应该将DataTable
分配给ItemsSource
,并将DisplayMemberPath
设置为您要显示的列的名称。
comboBox1.ItemsSource = empnames.GetDataByName();
comboBox1.DisplayMemberPath = "Name"; // assuming there is a "Name" column