如何在不使用XAML的情况下将组合框绑定到代码中的DataSet:
我尝试了以下操作,但我的所有组合框项目都是" System.Data.DataRowView"而不是实际值。有什么问题?
string str = @"SELECT * FROM FooTable";
da.SelectCommand = new SqlCeCommand(str, connection);
da.Fill(devDs, "FooTable");
dt = ds.Tables["FooTable"];
comboBox1.ItemsSource = devDt.DefaultView;
答案 0 :(得分:2)
您必须设置DisplayMemberPath
属性
combobox.DisplayMemberPath = "ColumnName"
答案 1 :(得分:0)
您可以使用comboBox1.DisplayMemberPath
设置表格中的哪一列用于UI演示。
测试样本:
var dataTable = new DataTable();
dataTable.Columns.Add("Id", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Rows.Add(1, "Test1");
dataTable.Rows.Add(2, "Test2");
comboBox1.ItemsSource = dataTable.DefaultView;
comboBox1.DisplayMemberPath = "Name";