Генерация отчетов в Birt, используя пользовательский ввод.Когда ввод пуст, все должно быть выбрано, в противном случае должны быть показаны соответствующие данные - PullRequest
0 голосов
/ 23 июня 2011

Я должен создать отчет Birt с пользовательскими параметрами ввода.Это похоже на то, что когда параметр оставлен пустым, он должен извлечь все значения из таблицы, в противном случае, когда пользователь вводит число учеников, соответствующие данные должны быть получены.Можно ли это сделать через отчет Birt?Если да, то, пожалуйста, предложите способ.
Спасибо!

Ответы [ 2 ]

2 голосов
/ 24 июня 2011

Да, вы можете сделать это. Если параметр является необязательным, вы не можете использовать параметр набора данных (с? В вашем запросе), потому что он будет нулевым. Вместо этого вы должны изменить свой запрос, используя JavaScript.

Создайте параметр отчета, как обычно, в этом случае «stud_no». Затем добавьте в свой SQL комментарий, который, по вашему мнению, является уникальным, я использую что-то вроде - $ stud_no $, куда бы вы ни вставили свое предложение.

Затем добавьте такой скрипт в свой набор данных в beforeOpen:

if (params["stud_no"].value){
    this.queryText = this.queryText.replace("--$stud_no$", "and stud_no = " +  params["stud_no"]);
}

Это заменяет комментарий предложением, когда параметр имеет значение. Вы можете использовать регулярное выражение в строке поиска, а затем можете также вставить его в несколько мест, если хотите.

1 голос
/ 29 марта 2013

Создайте свой paremater, используя оператор like

 where students_roll_no like ?

Создайте параметр отчета, используя в качестве текстового поля значение по умолчанию%

.

Поскольку процент «%» является подстановочным знаком SQL, он возвращает все значения. Если пользователь вводит номер Student Roll, он возвращает только эту запись. Кроме того, пользователь может ввести 0500% и получить все записи, которые начинаются с 0500.

...