как поставить функциональность поиска в dataGridView в vb.NET - PullRequest
1 голос
/ 25 сентября 2011

Как я могу выбрать одну ячейку из выбранной строки в datagridView, и после выбора я хочу добавить простую функцию поиска (как у нас в папках Windows - ввод любых символов и поиск должен работать)?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2011

Вы можете попробовать это как возможное решение.

Dim nwData as CustomersDataSet = CustomersDataSet.GetCustomers()
m_CustomersGrid.DataSource = m_CustomersBindingSource
m_CustomersBindingSource.DataSource = nwData.Customers

Then you can sort using the BindingSource.

CustomersBindingSource.Sort = "ContactName ASC"

And you can find using the BindingSource.

Dim index as integer = _
CustomersBindingSource.Find("CompanyName", CompanyNameTextBox.Text)
If index <-1 then 'it was found; move to that position
CustomersBindingSource.Position = index
End If

Вы можете заполнить:

CustomersBindingSource.Find("CompanyName", CompanyNameTextBox.Text)

с нажатыми клавишами в ячейке путем захвата их с помощью:

 Private Sub DataGridView1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyUp
        Dim dgv As DataGridView = TryCast(sender, DataGridView)

        If dgv IsNot Nothing Then

           'You will need some logic here to determine how long to wait between keyups 
           'Perhaps a timer that ticks every500 milliseconds and reset on keyup.  
e.KeyData
            End If
        End Sub

Я нашел оригинальную логику источника Biding at: This Location

0 голосов
/ 27 сентября 2011

Я не очень понимаю ваш вопрос.Если вы хотите выбрать одну ячейку, вы можете использовать событие celldoubleclick для примера.А чтобы получить выбранную ячейку, используйте e.rowindex и e.columnindex, которые дадут вам строку и столбец, где находится ячейка.

...