2014-02-18 126 views
1

我有一個代碼,這將允許我搜索特定文本的每一行。但是我想修改它以便能夠搜索當前選定列中的特定文本?數據網格視圖colomns搜索

我想與之合作的代碼如下:

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

[在列(C#)中搜索DataGridView中的值](http://stackoverflow.com/questions/13173915/search-for-value-in-datagridview-in-a-column)。 – Neolisk

回答

0

查找列,而不是使用DataGridView.CurrentCell財產通過列1看:

代碼:

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 
+0

@argon你是怎麼做到的?你有這個答案嗎? – TylerDurden

0

您將需要使用datagrid的SelectionChanged事件。參數將指向所選的行,然後您可以遍歷該行中的單元格,並比較值以查看所選行中是否有匹配。

如果您有一個可以選擇多行的花式網格,您需要遍歷每個選定的行和這些行中的每個單元格。

0

如果您只想搜索所選單元格,請使用DataGridView.SelectedCells屬性。

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

    End If 
Next 

我的VB是生鏽的,只是打電話ToString()前添加一個空支票cell.Value