#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