-1

如何过滤基于第一个组合框的其他组合框,该组合框与其他组合框具有相同的数据。

我正在使用 Visual Basic 2010 和一个与代码连接的 ms access 数据库。在 vb 表单上,我有五个组合框,所有组合框都使用以下代码填充相同的数据:

私有子负载主体()

    Dim OleDBC As New OleDbCommand
    Dim OleDBDR As OleDbDataReader
    With OleDBC
        .Connection = conn
        .CommandText = "SELECT subject FROM tblsubjectBA"
    End With
    OleDBDR = OleDBC.ExecuteReader
    cmbsub1.Items.Clear()
    cmbsub2.Items.Clear()
    cmbsub3.Items.Clear()
    cmbsub4.Items.Clear()
    If OleDBDR.HasRows Then
        While OleDBDR.Read
            cmbsub1.Items.Add(OleDBDR.Item(0))
            cmbsub2.Items.Add(OleDBDR.Item(0))
            cmbsub3.Items.Add(OleDBDR.Item(0))
            cmbsub4.Items.Add(OleDBDR.Item(0))
        End While
    End If
End Sub

数据为“美国”“俄罗斯”“中国”“印度”“非洲”“欧洲”

现在我想创建一个可以过滤其他commoboxes的代码,即;

如果我从 5 的列表中选择“印度”,如 combobox1 中提到的,那么其他 4 个组合框不得在列表中显示“印度”

然后

如果我从 4 个列表中选择“欧洲”,因为在组合框 1 中已经选择了 1 个名称,那么其他 3 个组合框不得在列表中显示“印度”和“欧洲”

所有组合框都应遵循相同的规则。

4

1 回答 1

1

我不熟悉visual basic,但是您应该为所有组合框实现一个选择更改事件,并在选择更改时从其他组合框中删除相应的元素,并添加不再过滤掉的元素。这是一个快速而肮脏的解决方案,但应该可以。

于 2012-06-03T10:04:54.653 回答