在运行时填充组合框

时间:2013-03-25 01:12:06

标签: vb.net if-statement combobox

我在系统上有两个组合框,分类和子类别

我的概念必须是当我在cmbCategory上选择COM或PRT时,

cmbSubCategory将自动显示所选类别的相应子类别

Private Sub cmbCategory_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbCategory.SelectedIndexChanged
        If cmbCategory.Text = "COM" Then
            cmbSubCategory.Items = "SU, MON"
        End If
    End Sub

我的代码返回错误

属性项目是只读

1 个答案:

答案 0 :(得分:1)

Items是一个集合,所以要将内容添加到集合中,您需要将它们添加到集合中而不是直接赋值。

如果SUMON在组合框中显示为单独的项目,那么您可以执行以下操作:

Private Sub cmbCategory_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbCategory.SelectedIndexChanged
    If cmbCategory.Text = "COM" Then
        cmbSubCategory.Items.Clear()
        cmbSubCategory.Items.Add("SU")
        cmbSubCategory.Items.Add("MON")
    End If
End Sub

如果SU, MON打算作为单个项目出现,那么您可以这样做:

Private Sub cmbCategory_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbCategory.SelectedIndexChanged
    If cmbCategory.Text = "COM" Then
        cmbSubCategory.Items.Clear()
        cmbSubCategory.Items.Add("SU, MON")
    End If
End Sub

请注意,我们使用Clear从组合框中删除项目/确保它是空的,然后使用正确的选项填充它。

PS。我注意到这个问题的一个标签是“SQL”,但是根据我的阅读,我不认为这个问题有一个SQL组件。