2013-05-21 2 views
0

я есть текстовое поле и выпадающий и А DataTable (заполнить из базы данных) DataTable имеет два столбца один является идентификатор и другой имя выпадающий список является связываться с этим DataTable какчлен значение в текстовое поле и отображения элемента в ComboBox

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 и в поле «hanler textbox1», что мы пишем, что, когда идентификатор вводится в текстовое поле1, и оставить его, он автоматически выбирает соответствующий элемент отображения в ComboBox1. если не существует, то очистить textBox1

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 

ответ

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 
+0

oh его так просто. благодаря –

0

попробовать это:

ComboBox1.SelectedIndex = ComboBox1.FindString(TextBox1.Text) 

Я работаю с C# на ежедневной основе, но я думаю, что этот синтаксис VB должен быть правильным

 Смежные вопросы

  • Нет связанных вопросов^_^