0

VS 2010 と C# の Combobox の Displaymember に問題があります。親 ID が int でその他の情報が T1 として 1 つのテーブルがあり、ID が int で名前が varchar(50) の T2 として別のテーブルがあります。T2を参考にしたいです。したがって、私のコンボボックス: Binded - T1 Datasource - T2 DisplayMember - T2.Name ValueMember - T2.Id

うまくいかず、どこでミスをしたのかわかりません。また、私がこれを好きなら: DisplayMember - T2.Id ValueMember - T2.Id それが働き始めるよりも。

ありがとう

4

1 に答える 1

0

私があなたを正しく理解しているなら、あなたはDisplayMemberandValueMemberプロパティを2番目の表にある2つのフィールドの名前に設定しようとしています。
DisplayMemberおよびValueMemberは、DataSourceプロパティにバインドされたテーブルに存在するフィールドを参照する必要がある文字列です。リストされ
たフィールドを含まないテーブルにデータソースをバインドし、意図したとおりに機能しない場合DisplayMemberValueMember

テーブルが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";
于 2012-12-17T18:50:41.137 に答える