DevExpress XtraReport:布尔过滤器

时间:2014-10-31 12:19:41

标签: c# filter boolean devexpress xtrareport

我正在使用devexpress和xtrareport工具。

我做了一个带有布尔参数的过滤器,用这种方式定义:

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

它可以工作,但是......如果我想看到ABILITATO设置为true的记录,我点击True,同样的False。但是,如果我想看到所有的记录,没有过滤?

2 个答案:

答案 0 :(得分: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 :(得分:-1)

I think it's possible with Iff condition in filterstring. First you must create a calculated field and set Iff condition with your set of filter. Put calculated field as main field.