检查vb中网格视图中的指定单词

时间:2012-02-03 09:55:16

标签: vb.net visual-studio-2010 gridview

我想检查gridview中是否包含一组特定的单词。

例如,我想检查gridview中的任何行是否包含单词“apple”。 如果它包含“apple”,我想知道哪些行包含单词“apple”。

这可能吗? 我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

你可以在RowDataBound中执行它,如果你使用了templatefield并且有Label,Literal和Textbox以外的控件那么这可能不起作用

我假设你使用了Boundfields,因为你没有在问题中指定任何Gridview标记

     Public Sub yourGridview_RowDataBound(sender As Object, e As GridViewRowEventArgs)
         If e.Row.RowType = DataControlRowType.DataRow Then
            For i = 1 To e.Row.Cells.Count                  
               If e.Row.Cells(i).Text.Contains("specifiedtext") Then
                'do your operations here 
               End If   
            Next
         End If
     End Sub

答案 1 :(得分:0)

您不应在GridView搜索给定单词的任何出现,但它是DataSource。请注意,这可能会有所不同,例如Paging

所以我建议你在DAL的查询中这样做,例如:

SELECT IdColumn FROM Table t
WHERE Col1 LIKE '%@word%'
OR    Col2 LIKE '%@word%'
OR    Col3 LIKE '%@word%'
OR    COl4 LIKE '%@word%'

然后,您可以使用GridView的RowDataBound来更改此列表中包含ID的行的CSS(f.e。SearchMatch)。