Я должен был использовать список MultiSelect (динамический), где пользователь может выбрать несколько значений (удерживая клавишу Ctrl), чтобы просмотреть отчет.
Поэтому при реализации я попытался получить значение параметра в методе BeforeOpen и передать его в DataSet, добавить его в предложение where с помощью оператора IN. Я получил ошибку SQL на экране. Поэтому, когда я печатаю значение параметра, это было что-то вроде [Ljava.lang.Object;@26ba26ba], что вызывало ошибку в запросе. Я думал, что не могу обработать это значение параметра множественного выбора в сценарии и передать его в запрос. Так что отбросил эту Идею.
Теперь я использую встроенную функцию фильтра BIRT в наборе данных. То, что я делал в SQL, используя скрипт в Beforeopen Method, теперь я делаю то же самое в фильтре набора данных. Я использовал row["dataColumn"]IN param["param"].value, и он работает нормально. Я могу выбрать одно или несколько значений на экране фильтра, выполнить отчет и получить правильный результат.
Теперь еще одна вещь, которую мне нужно реализовать: в списке фильтров должно быть «Выбрать все», чтобы вместо выбора любого другого значения пользователь мог просто выбрать «Выбрать все» и вывести отчет для всех данных. Я передаю '%' против Select All. Поскольку я использую оператор IN, я не могу получить данные в отчете.
Я хочу предоставить функциональность «Выбрать все» вместе с множественным выбором, но не могу сделать это из-за вышеуказанных ограничений. В качестве альтернативы я могу использовать Ctrl + A, чтобы выбрать все, и это работает, и я могу это сделать, но это соответствует требованию, которое мне нужно реализовать.
Я использую BIRT version="3.2.17"
ЛЮБАЯ ИДЕЯ БУДЕТ ОЦЕНЕНА. Заранее спасибо.. :)