C# VS2010 SP1组合框显示成员问题

C# VS2010 SP1组合框显示成员问题,c#,winforms,visual-studio-2010,combobox,C#,Winforms,Visual Studio 2010,Combobox,在VS 2010和C#中,我对Combobox的Displaymember有问题。 我有一个表T1,其父id为int和一些其他信息,另一个表T2,id为int,名称为varchar(50)。我想用T2作为参考。 所以,我的组合框: 绑定-T1 数据源-T2 DisplayMember-T2.Name ValueMember-T2.Id 这是行不通的,我看不出我在哪里犯了错误。 另外,如果我喜欢这样: DisplayMember-T2.Id ValueMember-T2.Id 然后它开始工作 谢谢

在VS 2010和C#中,我对Combobox的Displaymember有问题。 我有一个表T1,其父id为int和一些其他信息,另一个表T2,id为int,名称为varchar(50)。我想用T2作为参考。 所以,我的组合框: 绑定-T1 数据源-T2 DisplayMember-T2.Name ValueMember-T2.Id

这是行不通的,我看不出我在哪里犯了错误。 另外,如果我喜欢这样: DisplayMember-T2.Id ValueMember-T2.Id 然后它开始工作


谢谢

如果我理解正确,您正在尝试将
DisplayMember
ValueMember
属性设置为第二个表中两个字段的名称。
DisplayMember
ValueMember
是应引用绑定到DataSource属性的表中字段的字符串。
如果将数据源绑定到不包含为
DisplayMember
ValueMember
列出的字段的表,则任何操作都无法正常工作

如果表由ParentID和ID字段关联,则可以使用连接表达式创建数据源

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";

你能给出一个代码示例来演示这个问题吗?我没有为此添加任何代码。一切都在设计时设置。忘了提到它是一个WinForm。你能分享你的代码吗?你是如何填充你的
组合框的?
?我不能这样做。我使用2个SP来获取数据。如果我将DisplayMember更改为T2.Id,它为什么会开始工作呢?好的,但是绑定到combobox的datasource属性的模式是什么?Diplay和Value使用的字符串应该是该模式中存在的列的名称。它是一个SP2,提供了列Id和名称(我称之为T2)。您能告诉我如何添加图片,这样它会自我解释吗?您不能以您的声誉编辑您的问题并发布到共享服务的链接。(photobucket.com、tinypic.com等)