привязка сетки данных к текстовому полю данных

#database #vb.net #datagridview

#База данных #vb.net #datagridview

Вопрос:

Когда программа выполняется, datagridview заполняет данные, а также текстовые поля (например, номер склада, Описание), и когда я набираю слова в текстовом поле поиска, datagridview фильтрует соответствующие слова.Когда я щелкнул элемент в datagridview, текстовые поля не изменились, в них не отображалась информация…

каково решение моей проблемы .. мне нужно отображать информацию в текстовых полях, когда я нажимаю на элемент в datagridview..

 Private Sub txtreg_delsrch_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtreg_delsrch.TextChanged

    Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.jet.oledb.4.0;data source=C:UserssonyDocumentsVisual Studio 2008ProjectsInventoryItemInventory.mdb")
    Dim cmd As OleDbCommand = New OleDbCommand("SELECT StockNo,Item,Description,Reference,Quantity,Unit FROM Supplies_Regular WHERE Description Like '%" amp; txtreg_delsrch.Text amp; "%'", con)
    con.Open()
    Dim myDA As OleDbDataAdapter = New OleDbDataAdapter(cmd)
    Dim myDataSet As DataSet = New DataSet()
    myDA.Fill(myDataSet, "MyTable")
    Supplies_RegularDataGridView1.DataSource = myDataSet.Tables("MyTable").DefaultView

End Sub
  

Комментарии:

1. вот мой скриншот для моей проблемы i233.photobucket.com/albums/ee298/killua25b/search.png

2. кстати, теперь я решил проблему .. спасибо всем за ваши ответы ^^

Ответ №1:

Возможно, вы могли бы использовать BindingSource :

 Dim binding = New BindingSource() 
    With { .DataSource = myDataSet.Tables("MyTable") }
Supplies_RegularDataGridView1.DataSource = binding
StockNumber_textBox1.DataBindings.Add("Text", binding, "StockNo")
  

Последняя строка просто привязывает StockNo свойство вашего объекта к TextBox.Text .

Комментарии:

1. текстовые поля уже binded.my проблема, сэр, в том, что когда он фильтрует элемент, и когда я щелкнул по элементу, текстовые поля не изменились, похоже, что он зависает, когда я набираю слова в текстовом поле поиска

Ответ №2:

Вы могли бы сделать что-то подобное в событии Grid CellClick .

     Dim row As Integer = e.RowIndex
    Dim col As Integer = e.ColumnIndex

    textbox.Text = grid.Item(col, row).value