我有以下结构
|-Table 1
|--PK IDT1
|--Name field
|-Table 2
|--PK ID
|--FK IDT1
|--Name field
我想将表1绑定到combobox1,将表2绑定到combobox2,这样当有人在combobox1中选择一个值时,combobox2只填充来自combobox1的FK IDT1值的行。这是可能的数据绑定还是我必须编码?
答案 0 :(得分:0)
FORM_LOAD
上的仅填充ComboBox1
。这个伪代码可以帮到你:
在您的应用程序的FORM_LOAD上:
Bind ComboBox1
SET DISPLAY MEMBER Property of BomboBox1 to field
SET VALUE MEMBER Property of ComboBox1 to IDT1
Clear ComboBox1 current Text
在ComboBox1
Bind ComboBox2 using the following Query:
SELECT ID, field FROM Table2 WHERE IDT1 = ComboBox1.SelectedValue.ToString
SET DISPLAY MEMBER Property of ComboBox2 to field
SET VALUE MEMBER Property of ComboBox2 to IDT
每次SelectedIndex属性值更改时, SelectedIndexChanged 事件都会引发。如果您的ComboBox最初为空,则其SelectedIndex为-1。将数据绑定到它时,默认选择第一个项目,SelectedIndex更改为0.然后,再次将SelectedIndex显式设置为-1。
如果您只想知道用户何时做出选择,请改为处理 SelectionChangeCommitted 事件。