Страница 1 из 1

Проблема с фильтрацией

Добавлено: 03 дек 2009, 13:00
mirlanda
Добрый день!

Подскажите пожалуйста как решить такую проблему:

есть отчет
GroupHeader1 по колонке data.Cost
DataBind1
GroupFooter1

в GroupFooter помещен SubReport1, где так же есть DataBind2 источник данных data1.

Необходимо фильтровать данные в DataBind2 в зависимости от значения data.Column1 для текущей группы.
Я пыталась сделать переменную С, которую изменяю в BeforePrint GroupHeader1(С = data.Cost).
При установке у DataBind2 фильтр data1.Cost == C, данные не выводятся. Значение C в SubReport1 правильное(если выводить отдельно это видно). Если изменять в фильтре C на числовое значение фильтр работает, но данные уже не зависят от группы, в которую попадают.

Возможно ли как-нибудь привязать фильтр к переменной?

Проблема с фильтрацией

Добавлено: 03 дек 2009, 18:51
Edward
Здравствуйте,

Попробуйте установить фильтр следующим образом:

data.Cost==data1.Cost

Спасибо.

Проблема с фильтрацией

Добавлено: 04 дек 2009, 08:00
mirlanda
Здравствуйте.

Спасибо за ответ, но этот вариант не подходит - данные в subreport не выводятся, так же как и при фильтре data1.Cost == C.
datasource основного отчета - результат процедуры, datasource subreport - таблица, в subreport необходимо выводить данные относящиеся к группе, например:
основной отчет, группировка по Column4
Column4 = 105

Код: Выделить всё

             

           Column1       Column2       Column3
            1               2               3
                          Column6       Column7 // subreport, фильтр на данные из таблицы, Column8 = 105
                            10              30%
              Column1       Column2       Column3 // Column4 = 211
              50                  24            30
                       // ничего не выводится, т.к. нет данных, где Column8 = 211
              Column1       Column2       Column3 // Column4 = 315
               80                  21          34
                          Column6       Column7 // subreport, фильтр на данные из таблицы, Column8 = 315
                            28               60%
Возможно ли такое сделать при помощи фильтрации? Отчет был экспортирован из crystal reports, там текущее значение Column4 передается в качестве параметра в запрос, на основе которого строится subreport.

Проблема с фильтрацией

Добавлено: 04 дек 2009, 21:19
Edward
Здравствуйте,

Попробуйте присваивать переменную С в BeforePrint DataBand1 (С = data.Cost).

Также установите у DataBand1 свойство PrintIfDetailEmpty в true.

Спасибо.