-1

関連する2つのコンボボックスがあります。私の問題は、コンボボックス1からアイテムを選択すると、コンボボックス2のアイテムがリセット/クリアされないことです。代わりに、コンボボックス 2 の下部に新しいアイテムを追加/追加し続けます。新しいアイテムを追加する前に試し 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
4

9 に答える 9

4

しないでください

ComboBox2.DataSource = Nothing

アイテムをクリアするだけ

ComboBox2.Items.Clear()
于 2013-03-18T04:36:09.693 に答える
0

まず、データ ソースに値があるかどうかを確認します。例えば:

if isnothing(combobox1.Datasource) then
*write your code to populate here
end if.
于 2015-09-14T00:11:59.960 に答える
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

ありがとう!

于 2013-03-18T04:34:59.383 に答える
0
combobox1.SelectedIndex = -1

それが最善の方法です

于 2014-10-06T08:38:29.583 に答える
0

使用する代わりに

ComboBox2.DataSource = NothingComboBox2.Items.Clear()

使用する、ds.Tables("cbBrgy").Rows.Clear()

于 2013-03-18T09:17:47.357 に答える