【发布时间】:2015-09-28 16:36:13
【问题描述】:
我有一个带有 RowFilter 实现的可自定义过滤器的 GridView。对于每一列,用户可以指定一个过滤条件。一旦设置了所有所需的标准,他点击“应用过滤器”。组合所有列的条件以创建 DataView 的 RowFilter 表达式。
现在,我想实现一个“反转”选项(一个复选框),它可以简单地反转 DataView 的 RowFilter 条件。我的第一个想法是简单地说:
RowFilter = NOT (original condition)
就是这样。显然不是,因为字段具有 NULL 值。例如,如果过滤器具有条件StatusID = 10,并且如果某些记录的StatusID 值为NULL,则条件NOT (StatusID = 10) 将不包括这些记录(根据我的测试)。对于一个字段,我可以轻松地进行更改以考虑 NULL,但是当条件中组合多个字段时,它变得更加复杂。
我的问题:当涉及具有 NULL 值的字段时,是否有一种聪明的方法可以全局反转 RowFilter 条件,或者我是否必须为每个单独的字段测试 NULL?
【问题讨论】:
-
你能不能不做 myDataView.RowFilter = "[NAME OF Column1]0"
-
将“=”替换为“”会导致与使用 NOT 相同的问题。我不得不说“StatusID 10 OR StatusID IS NULL”,而不是“StatusID = 10”。这就是我想避免的(我必须承认,希望渺茫)。
-
请检查答案是否符合您的要求。