Параметр Birt и набор данных - PullRequest
0 голосов
/ 28 июня 2011

Я хотел бы показать отчет с использованием параметра, в зависимости от того, какой параметр выбрал пользователь. Он должен показывать определенный набор данных. это возможно?

Вот почему мне нужно показать разные ДАННЫЕ в зависимости от значения, выбранного в параметре:

У меня есть отчет, и мне нужно объединить его, если это возможно. В этом отчете есть параметры даты начала и окончания, но теперь также требуется параметр службы. Например, мне нужен отчет, показывающий мне клиентов, которые имеют отношение к услуге A, доступные службы: A, B, C, D, E, поэтому я использую service в качестве параметра, но Один и тот же отчет в зависимости от того, что это за сервис, меняется и должен показывать не только клиенты, но и сотрудники, связанные с сервисом.

1011 * т.е. * Отчет 1: Показать клиентов, связанных с услугой A
Отчет 2: Показать клиентов, связанных с услугой B
Отчет 3 : Показать клиентов и сотрудников, связанных с услугой C
Отчет 4: Показать клиентов, связанных с услугой D
Отчет 5 : Показать клиентов и сотрудников, связанных с обслуживанием E

1 Ответ

1 голос
/ 29 июня 2011

Если набор данных должен быть заменен во время выполнения:

  1. Имя элемента отчета, привязанного к одному из наборов данных в представлении Редактор свойств , т.е. myTable.
  2. В сценарии beforeFactory назначьте соответствующий набор данных:

    var myTable = reportContext.getDesignHandle().findElement('myTable');
    myTable.setProperty('dataSet', 'myChoosenDataSet');
    

Другой, более простой подход: если этого будет достаточно, вы можете просто скрывать элементы данных, когда они не нужны. Поместите условие видимость в представление Редактор свойств , чтобы элемент был скрыт.

Еще один подход: настроить SQL-запрос в наборе данных beforeOpen script:

if (params['service'].value == 'foo') {
    this.queryText = "select * from foo where foo.bar = ?";
}
...