我想检查gridview中是否包含一组特定的单词。
例如,我想检查gridview中的任何行是否包含单词“apple”。 如果它包含“apple”,我想知道哪些行包含单词“apple”。
这可能吗? 我该怎么做呢?
答案 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
)。