来自2个表的VB.NET数据绑定

时间:2012-01-05 20:44:15

标签: vb.net winforms data-binding

我有以下结构

|-Table 1
|--PK IDT1
|--Name field
|-Table 2
|--PK ID
|--FK IDT1
|--Name field

我想将表1绑定到combobox1,将表2绑定到combobox2,这样当有人在combobox1中选择一个值时,combobox2只填充来自combobox1的FK IDT1值的行。这是可能的数据绑定还是我必须编码?

1 个答案:

答案 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

SelectionChangeCommitted
      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 事件。