DevExpress XtraReport: логический фильтр

Я работаю с инструментами devexpress и xtrareport.

Я сделал фильтр с логическим параметром, определенным следующим образом:

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

это работает, но... если я хочу видеть записи с ABILITATO, установленным в true, я нажимаю True и то же самое для False. А если я хочу увидеть всю запись без фильтрации?


person Piero Alberto    schedule 31.10.2014    source источник


Ответы (2)


Выполнено с помощью строкового фильтра.

Я использую событие 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)"
person Piero Alberto    schedule 03.11.2014

Я думаю, что это возможно с условием Iff в filterstring. Сначала вы должны создать вычисляемое поле и установить условие Iff с вашим набором фильтров. Поместите вычисляемое поле в качестве основного поля.

person Lalit Sharma    schedule 07.04.2016