从文本框中搜索Datagridview中的全部或部分匹配,并在显示完整数据网格时选择第一个匹配



我有一个在datagridview中显示的客户表。我希望用户能够输入客户的全名或部分姓氏,然后单击一个按钮,然后在文本框中找到符合匹配的第一个客户。举个例子:用户在文本框中输入"will",找到的第一条记录是"williams",尽管用户要查找的是"wilson"。记录将被突出显示(选中),用户可以滚动查看其他记录并手动选择"wilson"(我可以对手动部分进行编码)。

我在互联网上搜索了几个小时,找不到这种类型的代码。其中大部分是过滤或搜索每个单元格并返回每个值。

我目前正在改造一个项目,我做了一个访问数据库和vba几年前。我曾认为vb.net将非常相似,但它是不够相似的,我修改这段代码。我还将使用sql数据库。

索引字段显然是单元格(0),姓氏是单元格(1)。

我已经找到了一个解决方案,虽然我不得不修改它。它能满足我所有的需求,除了一件事。如果我输入字母"H"并搜索姓氏,它会发现第一个姓氏中有"H",但与第一个字母的位置不同。我要排到第一个以"H"开头的姓氏。我在下面列出了我的代码。

Dim srch As String将irowindex定义为整数Dim strl As Integersrch = txtSearch。文本

    dgvCustomers.ClearSelection()
    For i As Integer = 0 To dgvCustomers.Rows.Count - 1
        If dgvCustomers.Rows(i).Cells(0).Value IsNot Nothing Then
            If dgvCustomers.Rows(i).Cells(1).Value.ToString.ToUpper.Contains(srch.ToUpper) Then
                dgvCustomers.Rows(i).Selected = True
                dgvCustomers.RowsDefaultCellStyle.SelectionBackColor = Color.DimGray
                irowindex = dgvCustomers.SelectedCells.Item(0).Value
                MessageBox.Show(irowindex)
                Exit For
            End If
        End If
    Next
End Sub

试试这个,先生。

for each row as datagridviewrow in nameofdatagrid.rows
 if row.cells("Lastname").value = txtbox.text then
   nameofdatagrid.clearselection()
   row.cells("Lastname").selected = true
   exit for
 end if
next
我想这是你的问题吧?在数据网格中查找姓氏匹配并选择它?希望这对你有帮助:)

Dim srch As String将irowindex定义为整数Dim strl As Integersrch = txtSearch。文本

    dgvCustomers.ClearSelection()
    For i As Integer = 0 To dgvCustomers.Rows.Count - 1
        If dgvCustomers.Rows(i).Cells(0).Value IsNot Nothing Then
            If dgvCustomers.Rows(i).Cells(1).Value.ToString.ToUpper.StartsWith(srch.ToUpper) Then
                dgvCustomers.Rows(i).Selected = True
                dgvCustomers.RowsDefaultCellStyle.SelectionBackColor = Color.DimGray
                irowindex = dgvCustomers.SelectedCells.Item(0).Value
                MessageBox.Show(irowindex)
                Exit For
            End If
        End If
    Next

最新更新