2014-10-31 138 views
0

我正在使用devexpress和xtrareport工具。DevExpress XtraReport:布尔过滤器

我做了一个布尔paramenter的过滤器,以这种方式定义:

this.FilterString = "[ABILITATO] = ?abilitatoParam"; 

它的工作原理,但是...如果我想看到ABILITATO记录设置为true,我点击真和同样的错误。但是如果我想查看所有记录,而不进行过滤?

回答

1

用字符串过滤器完成。

我使用事件ParametersRequestSubmit。然后我检查参数和我设置我想要的值:

if (e.ParametersInformation[0].Parameter.Value.ToString() == Application.Current.FindResource("Abilitati").ToString()) 
    e.ParametersInformation[0].Parameter.Value = "True"; 
else if (e.ParametersInformation[0].Parameter.Value.ToString() == Application.Current.FindResource("Disabilitati").ToString()) 
    e.ParametersInformation[0].Parameter.Value = "False"; 
else if (e.ParametersInformation[0].Parameter.Value.ToString() == Application.Current.FindResource("Tutti").ToString()) 
    e.ParametersInformation[0].Parameter.Value = string.Empty; 

,这是过滤字符串:

"Contains([ABILITATO], ?abilitatoP)" 
-1

我认为这是可能与filterstringIff条件。首先,您必须创建一个计算字段并使用您的筛选器集来设置Iff条件。 将计算字段作为主字段。