Vb.net 将ActiveFilterString子句添加到DevExpress GridView CustomFilterRow
我有DevExpressVb.net 将ActiveFilterString子句添加到DevExpress GridView CustomFilterRow,vb.net,gridview,devexpress,.net-2.0,Vb.net,Gridview,Devexpress,.net 2.0,我有DevExpressGridView,其中我有一个数据表作为数据源。现在我有一个隐藏列,用于使用CustomFilterRow事件过滤视图。现在的问题是,当用户放入任何过滤器时,它会被忽略,因为e.Handled中的CustomFilterRow事件设置为True。我想要的是也使用用户的过滤器字符串过滤视图,保持我的过滤器处于活动状态,即无论用户提供什么过滤器,它都将始终添加到我最初在CustomFilterRow事件中提供的过滤器算法上 Private Sub GridView_Dept_
GridView
,其中我有一个数据表作为数据源。现在我有一个隐藏列,用于使用CustomFilterRow
事件过滤视图。现在的问题是,当用户放入任何过滤器时,它会被忽略,因为e.Handled
中的CustomFilterRow
事件设置为True
。我想要的是也使用用户的过滤器字符串过滤视图,保持我的过滤器处于活动状态,即无论用户提供什么过滤器,它都将始终添加到我最初在CustomFilterRow
事件中提供的过滤器算法上
Private Sub GridView_Dept_CustomRowFilter(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.Views.Base.RowFilterEventArgs) Handles GridView_Dept.CustomRowFilter
If IsLoadComplete = False Then
Exit Sub
End If
Dim view As GridView = CType(sender, GridView)
Dim dv As DataView = view.DataSource
If Not IsEqual(dv(e.ListSourceRow).Item("EXUSER"), Me.GridViewUser.GetFocusedRowCellValue("EXUSER")) Then
e.Visible = False
e.Handled = True
End If
End Sub
DevExpress-9.2.Net-2.0 VS-2008
注意-由于公司政策,我不允许升级到更高版本。刚刚找到答案。如果我将
e.Handled=True
作为事件中的最后一行写入,该行始终被执行,则用户自定义筛选器始终被忽略,但如果我在自定义条件块中写入e.Handled=True
,则一切正常
因此,在事件参数对象中具有e.Handled
属性的任何事件,请小心将e.Handled
属性设置为True
。您应该始终确保仅在满足的条件覆盖默认功能的情况下,才将e.Handled
属性设置为True
。在函数末尾将e.Handled
属性设置为True
将始终覆盖默认功能,这可能不是所需的行为