我有一个代码,可以让我搜索每一行的特定文本。但是我想修改它以便能够在当前选定的列中搜索特定文本?
我正在尝试使用的代码如下:
Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles Button2.Click
Dim rowindex As String
For Each row As DataGridViewRow In DataGridView1.Rows
If row.Cells.Item("Column1").Value = TextBox2.Text Then
rowindex = row.Index.ToString()
MsgBox(rowindex)
Else
MsgBox("No Record found")
End If
Next
End Sub
答案 0 :(得分:0)
查找列而不是使用DataGridView.CurrentCell
属性查看Column1:
代码:
Dim currentcolumn As DataGridViewColumn =
DataGridView1.Columns(DataGridView1.CurrentCell.ColumnIndex)
For Each row As DataGridViewRow In DataGridView1.Rows
If row.Cells.Item(currentcolumn.Name).Value = TextBox2.Text Then
End If
Next
答案 1 :(得分:0)
您需要使用datagrid的SelectionChanged事件。参数将指向所选的行,然后您可以遍历该行中的单元格并比较值以查看所选行中是否存在匹配项。
如果您有一个允许选择多行的花式网格,则需要遍历每个选定行和这些行中的每个单元格。
答案 2 :(得分:0)
如果您只想在选定的单元格中搜索,请使用DataGridView.SelectedCells
属性。
For Each cell As DataGridViewCell In datagridview1.SelectedCells
If cell.Value.ToString() = TextBox2.Text Then
End If
Next
我的VB生锈了,只需在调用cell.Value
之前为ToString()
添加空检查。