在不使用数据集vb.net的情况下搜索datagrid中的值

时间:2014-03-18 02:31:27

标签: sql-server vb.net datagridview

我在MS-SQL服务器的datagrid中插入值。我有一个文本框,我想从中执行搜索操作,但问题是我没有使用数据集。 问题是如何在不使用vb​​.net中的数据集的情况下搜索datagrid中的值。 这是我的代码填充数据网格视图。

    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

1 个答案:

答案 0 :(得分: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名称以反映您的...