0

テキストボックスとコンボボックスがあり、データテーブル(データベースから入力) データテーブルには2つの列があり、1つはIDで、もう1つは名前 ですコンボボックスはこのデータテーブルとバインドされます

Form1.ComboBox1.DataSource = dt
    Form1.ComboBox1.DisplayMember = "name"
    Form1.ComboBox1.ValueMember = "id"

ユーザーがcomboBox1ドロップダウンから表示メンバーを選択すると、valuememberがtextbox1のように表示されます

Private Sub ComboBox1_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedValueChanged
    If ComboBox1.SelectedIndex = -1 Then
        Return
    Else
        TextBox1.Text = ComboBox1.SelectedValue.ToString
    End If

もう 1 つのプロセスは、ユーザーが textbox1 に値を入力し、textbox1 の leave hanler に値を入力した場合です。ID が textbox1 に入力され、ComboBox1 の対応する表示メンバーが自動的に選択されたコントロールを離れるときに、それを記述します。存在しない場合は、テキストボックスをクリアします1

Private Sub TextBox1_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Leave

    Dim dv As DataView
    if ( dv = dv.RowFilter = "id =" & TextBox1.Text.ToString) then
//select the value memeber if record find
//ComboBox1.text = finded diaplay member 
else
textbox1.text = string.empty
ComboBox1.selectindex = -1
end if
End Sub
4

2 に答える 2

0

TextBox1_Leave ハンドラー内には、次のものが必要です。

Private Sub TextBox1_Leave(sender As Object, e As EventArgs) Handles TextBox1.Leave
    Dim value As String = TextBox1.Text
    ComboBox1.SelectedValue = value
End Sub
于 2013-05-21T16:02:59.063 に答える