2014-03-18 1 views
0

Я вставляю значения в datagrid с сервера MS-SQL. Я получил текстовое поле, из которого я хотел выполнить операцию поиска, но дело в том, что я не использовал набор данных. Вопрос в том, как искать значения в datagrid без использования набора данных в vb.net. Вот мой код fr, заполняющий вид сетки данных.Значения поиска в datagrid без использования набора данных vb.net

dim i as integer = 0 
    con.ConnectionString = "Data Source=MY_CONNECTION_STRING " 
    Dim cmd As New SqlCommand("selct ID, Name From tbl_name where 1=1 Order by Name ASC", con) 
     con.Open() 
        ' Execute Query 
     Dim reader As SqlDataReader = cmd.ExecuteReader() 
     ' Try 
     While reader.Read() 
      DataGridView10.Rows.Insert(i, New String() {reader(0), reader(1).ToString}) 
      i = i + 1 
     End While 
+0

Что вы хотите найти? Для ex: столбцы или строки для данных? – Codexer

+0

Я хочу искать строки для данных. в основном я хочу получить идентификатор искомого элемента, например, имя поиска «XYZ» и получить идентификатор, связанный с ним. – Bender

+0

Хорошо, всего минуту. – Codexer

ответ

0

Вы можете поместить это в случае щелчка на скажем ...

Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click 
    Dim intIndex As Integer = SearchGrid(TextBox1.Text, 0) 'Change the 0 to what column you want to search for 
    DataGridView1.Rows(intIndex).Selected = True 'This will select the row...' 
    DataGridView1.CurrentCell = DataGridView1.Rows(intIndex).Cells(0) 'This ensures that the arrow will move if you have row headers visible. In order to select the cell change the zero to the column your searching to match up top 
    End Sub 

Вот функция ...

Private Function SearchGrid(ByVal strItem As String, ByVal intColumn As Integer) As Integer 
    Dim intIndex As Integer = 0 

    For i As Integer = 0 To DataGridView1.Rows.Count - 1 
     If DataGridView1.Rows(i).Cells(intColumn).Value.ToString.Contains(strItem) Then 'Or change "Contains" to "Equals" 
      intIndex = i 
      Exit For 
     End If 
    Next 

    Return intIndex 
End Function 

Это будет работать отлично подходит для вас и отличный старт , счастливое кодирование!

P.S. Обязательно измените имя datagridview, чтобы отразить ваше ...

+0

Работает как очарование, спасибо человеку :) – Bender

+0

См. Правки ... Если вы хотите только ячейку, убедитесь, что она соответствует 0. например, вы ищете 1-й столбец (0), убедитесь, что у обоих пятен есть 0 в них ... – Codexer

+0

Не забудьте подняться, если это помогло :) – Codexer

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