我在VS 2010和C#中使用Combobox的Displaymember有问题。 我有一个表作为T1,父id为int和一些其他信息,另一个表为T2,id为int,Name为varchar(50)。我想用T2作为参考。 所以,我的组合框: 绑定 - T1 数据源 - T2 DisplayMember - T2.Name ValueMember - T2.Id
它不会工作,我不知道我在哪里犯了错误。 另外,如果我喜欢这样: DisplayMember - T2.Id ValueMember - T2.Id 而不是开始工作。
由于
答案 0 :(得分:0)
如果我理解正确,您尝试将DisplayMember
和ValueMember
属性设置为第二个表格中两个字段的名称。
DisplayMember
和ValueMember
是应该引用绑定到DataSource属性的表中的字段的字符串。
如果将数据源绑定到不包含DisplayMember
和ValueMember
列出的字段的表,则无法按预期工作
如果您的表与ParentID和ID字段相关,那么您可以使用JOIN表达式创建数据源
SELECT t1.ParentID, t1.Field1, t1.Field2, t2.ID, t2.Name
FROM t1 LEFT JOIN t2 on t1.ParentID = t2.ID
然后你可以设置组合框的DisplayMember和ValueMember
combobox1.DisplayMember = "t2.Name";
combobox1.ValueMember = "t2.ID";