我有两个相关的组合框。我的问题是我的combobox2项目不会重置/清除,因为我从combobox1中选择项目。相反,它不断添加/追加新的项目在combobox2的底部。我在添加新项目之前尝试了ComboBox2.DataSource = Nothing
和ComboBox2.Items.Clear()
,但仍然不清楚它。
Private Sub ComboBox1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.Validated
ComboBox2.DataSource = Nothing
ComboBox2.Items.Clear()
ComboBox2.Items.Remove(ComboBox2.DisplayMember)
sql = "select brgyname,idbrgy from barangay where idmun=" & ComboBox1.SelectedValue.ToString
da = New Odbc.OdbcDataAdapter(sql, con)
da.Fill(ds, "cbBrgy")
ComboBox2.DataSource = ds.Tables("cbBrgy")
ComboBox2.DisplayMember = "brgyname"
End Sub
答案 0 :(得分:4)
不要做
ComboBox2.DataSource = Nothing
只需清除项目
即可ComboBox2.Items.Clear()
答案 1 :(得分:1)
使用
ds.Tables("cbBrgy").Rows.Clear()
而不是
ComboBox2.DataSource = Nothing
ComboBox2.Items.Clear()
但请确保ds.Table("cbBrgy")
在使用该行之前不是Null
答案 2 :(得分:0)
试试这个......将你的方法改为......
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
ComboBox2.Items.Clear()
sql = "select brgyname,idbrgy from barangay where idmun=" & ComboBox1.SelectedValue
da = New Odbc.OdbcDataAdapter(sql, con)
da.Fill(ds, "cbBrgy")
ComboBox2.DataSource = ds.Tables("cbBrgy")
ComboBox2.DisplayMember = "brgyname"
End Sub
谢谢!
答案 3 :(得分:0)
而不是使用
ComboBox2.DataSource = Nothing
和ComboBox2.Items.Clear()
使用,ds.Tables("cbBrgy").Rows.Clear()
答案 4 :(得分:0)
combobox1.SelectedIndex = -1
这是最好的方式
答案 5 :(得分:0)
If Not IsNothing(ds.Tables("cbBrgy")) Then
ds.Tables("cbBrgy").clear
End If
sql = "select brgyname,idbrgy from barangay where idmun=" & ComboBox1.SelectedValue
da = New Odbc.OdbcDataAdapter(sql, con)
da.Fill(ds, "cbBrgy")
ComboBox2.DataSource = ds.Tables("cbBrgy")
ComboBox2.DisplayMember = "brgyname"
首先处理表格,然后再次填充表格,然后再次将其设置为DataSource。
答案 6 :(得分:0)
首先检查数据源是否有值。 例如:
if isnothing(combobox1.Datasource) then
*write your code to populate here
end if.
答案 7 :(得分:0)
请将以下代码写在:- combo2_selectedIndedChange 事件
If Not IsNothing(ds.Tables("cbBrgy")) 然后 ds.Tables("cbBrgy").clear() 万一 ComboBox2.DataSource = 无 ComboBox2.Items.Clear()
Sql = "select brgyname,idbrgy from barangay where idmun=" & ComboBox1.SelectedValue
da = New Odbc.OdbcDataAdapter(Sql, Con)
da.Fill(ds, "cbBrgy")
ComboBox2.DataSource = ds.Tables("cbBrgy")
ComboBox2.DisplayMember = "brgyname"
答案 8 :(得分:-1)
按照这个,
ComboBox.Text = Nothing
这足以清除组合框中的值。