【问题标题】:Data grid view colomns searchDatagridview 列搜索
【发布时间】:2014-02-18 12:09:29
【问题描述】:

我有一个代码,可以让我在每一行中搜索特定文本。但是我想修改它以便能够在当前选定的列中搜索特定文本?

我正在尝试使用的代码如下:

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

【问题讨论】:

标签: vb.net search datagridview


【解决方案1】:

您将需要使用数据网格的 SelectionChanged 事件。参数将指向所选行,然后您可以遍历该行中的单元格并比较值以查看所选行中是否有匹配项。

如果您有一个允许选择多行的精美网格,您将需要遍历每个选定的行和这些行中的每个单元格。

【讨论】:

    【解决方案2】:

    如果您只想在选定的单元格中搜索,请使用DataGridView.SelectedCells 属性。

    For Each cell As DataGridViewCell In datagridview1.SelectedCells
        If cell.Value.ToString() = TextBox2.Text Then
    
        End If
    Next
    

    我的 VB 生锈了,只需在调用 ToString() 之前为 cell.Value 添加一个空检查。

    【讨论】:

      【解决方案3】:

      使用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
      

      【讨论】:

      • @argon 你过得怎么样?你得到这个答案了吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      • 2010-11-09
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 2011-12-01
      • 1970-01-01
      相关资源
      最近更新 更多