Vb.net 在vb中检查网格视图中是否指定单词
我想检查gridview中是否包含一组特定的单词 例如,我想检查gridview中是否有任何行包含单词“apple”。 如果它包含“苹果”,我想知道哪些行包含“苹果”一词 可能吗?Vb.net 在vb中检查网格视图中是否指定单词,vb.net,visual-studio-2010,gridview,Vb.net,Visual Studio 2010,Gridview,我想检查gridview中是否包含一组特定的单词 例如,我想检查gridview中是否有任何行包含单词“apple”。 如果它包含“苹果”,我想知道哪些行包含“苹果”一词 可能吗? 我该怎么做呢?您不应该在GridView中搜索给定单词的任何出现,但它是DataSource。请注意,这可能不同,例如在分页的情况下 因此,我建议您在DAL的查询中这样做,例如: SELECT IdColumn FROM Table t WHERE Col1 LIKE '%@word%' OR Col2 LIK
我该怎么做呢?您不应该在
GridView
中搜索给定单词的任何出现,但它是DataSource
。请注意,这可能不同,例如在分页的情况下
因此,我建议您在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(例如SearchMatch
)。如果您使用templatefield,并且具有除Label、Literal和Textbox之外的控件,则可以在RowDataBound中执行此操作
我假设您使用的是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
发布一些代码您尝试过的一种方法是使用Gridview_RowDataBoundEvent()跟踪指定文本的特定行我不知道如何开始。。因为我在网上找不到合适的。我只是想检查某个特定的单词是否出现在任何行中您是想搜索GridView的当前页面还是想查找其数据源中的所有事件(哪些事件可能包含更多记录)?我只是想搜索所有事件C#而不是VB,不适用于模板字段,如果启用分页,则可能不起作用。感谢@TimSchmelter查看编辑,如果启用分页,则为是,则我不确定,但OP没有在问题或注释中明确说明如何知道哪些行包含这些字母?对于满足条件的行索引和单元格,即在如果在for循环下执行块,则可以对该单元格内容执行任何操作,也可以再次存储包含“指定文本”的行和单元格的索引