Здравствуйте, интересует возможность фильтрации в LimeReport.
Вводные: имеется таблица Продукты и Продажи, в продажах есть несколько столбцов (продавец, продукт, время продажи и тп).
Перед запуском отчета пользователь может указать продукт(-ы), продавцов, промежуток времени и тп(aka фильтрация).
В band вывожу название продукта и заголовочную часть таблицы. Далее создаю datasource к таблице Продаж, где включаю subquery mode и в качестве master указываю таблицу Продуктов. Использую этот datasource в SubDetailBand.
Таким образом получаю несколько таблиц, Продукт и Продажи для этого продукта. Но не могу понять как сделать фильтрацию по остальным столбцам (время, продавец и тп).
При создании datasource в окне sql использовать внешние переменные не получается (хотел вставить после where).
Можно заранее отсортировать и передать модель, но т.к. продукт меняется от таблицы к таблице, запрос должен меняться тоже.
Т.е. в SubDetailBand модель не используешь (нельзя провести фильтрацию по продукту созданного из модели datasource).
Заметил, что запрос, используемый для создания datasource хранится в xml шаблоне, можно сделать поиск по этому файлу и перед запуском предпросмотра для запроса, который создает datasource, менять значения условия после where (разумеется, оставляя Product=$D{Sales.Product}), но это выглядит как огромный костыль.
Буду рад любому совету.