将列表绑定到多个组合框

时间:2016-01-18 15:56:46

标签: vb.net binding combobox

我已经将我的列表绑定到多个组合框,一切正常,除了:当我在我的一个组合框中选择一个值时,这也在所有其他组合框中被选中,而我不想要这个。

我想要的是一个简单的方法来填充我的所有13个组合框具有相同的列表,但您可以在所有13个中选择不同(或相同)的值。

        Dim lstofcolumnheaders As New List(Of String)
        lstofcolumnheaders.Add("")
        For i As Integer = 0 To dt.Columns.Count - 1
            lstofcolumnheaders.Add(dt.Columns(i).ColumnName)
        Next

        cmbArtGroep.DataSource = lstofcolumnheaders
        cmbArtnr.DataSource = lstofcolumnheaders
        cmbArtNrLev.DataSource = lstofcolumnheaders
        cmbBarcode.DataSource = lstofcolumnheaders
        cmbEigenschappen.DataSource = lstofcolumnheaders
        cmbInfo.DataSource = lstofcolumnheaders
        cmbLeverancier.DataSource = lstofcolumnheaders
        cmbMerk.DataSource = lstofcolumnheaders
        cmbMinStock.DataSource = lstofcolumnheaders
        cmbMOQ.DataSource = lstofcolumnheaders
        cmbOmschrijving.DataSource = lstofcolumnheaders
        cmbTotStock.DataSource = lstofcolumnheaders
        cmbType.DataSource = lstofcolumnheaders

enter image description here

我目前的解决方法是:

        For Each itm As String In lstofcolumnheaders
            cmbArtGroep.Items.Add(itm)
        Next

但我还是想使用绑定。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Plutonix的想法暗示您实际绑定到不同的列表(绑定的问题是所有组合绑定到相同的引用,并且一个选择被推送到所有列表)。

为了更进一步,我想了解以下内容:

1)创建ComboBox es列表并将所有控件推送到那里

2)对于列表中的每个组合,其DataSource = lstofcolumnheaders.ToArray()