В BIRT, как мне получить доступ к произвольному набору данных из JavaScript? - PullRequest
2 голосов
/ 26 сентября 2008

Я создаю свой первый отчет в BIRT .

Очень быстро я столкнулся с проблемой, в которой я хотел отобразить некоторый текст или данные, основанные на выражении, которое включало данные из двух разных таблиц (не таблиц, которые можно / нужно объединять - (гипотетический пример - взять оценку ACT ученика из его записи в таблице учеников и сравните ее с записью таблицы статистики для статистики ACT.) Вскоре я понял, что элемент данных должен быть связан с набором данных (только один из них.)

Я нашел похожий вопрос в списке рассылки BIRT, который помог мне найти решение - я могу привязать отдельный элемент данных к другому набору данных, но он все равно может получить доступ к элементам своего контейнера. Я могу отправить параметры в набор данных, к которому привязан элемент (например, «ACT» в примере, который я упомянул выше).

Однако, в конце концов, я пришел к месту, где мне нужно было использовать данные из трех разных таблиц. Я застрял здесь, и я предполагаю, что есть способ сделать это с помощью возможностей сценариев, но я еще не видел в документации способ извлечения данных из набора данных - все, что я имел дело до сих пор, это связано с привязкой элемента отчета к набору данных.

Чтобы было ясно, я видел, что могу добавить функции JavaScript в раздел инициализации отчета верхнего уровня (и вызвать их из выражения в элементе данных), но я не вижу, как в скрипте я могу запросить любой из моих наборов данных - в отличие от взаимодействия только с набором данных, привязанным к моему элементу данных).

Как получить доступ к произвольному (хотя уже определенному) набору данных из JavaScript в BIRT? (Или как я могу получить доступ к более чем двум наборам данных из элемента - один, с которым он связан, и один, с которым связан его контейнер?)

Ответы [ 2 ]

2 голосов
/ 27 сентября 2008

Я не пытался сделать это некоторое время. Непосредственный ответ, который приходит на ум, заключается в том, что вам нужно поместить третий набор данных в таблицу (видимость может быть установлена ​​в false), и вам нужно будет заполнить значения таблицы в GlobalValue. Тогда вы можете получить GlobalValues ​​из управления данными через скрипт.

Я знаю, что это не красиво. Я посмотрю выходные и посмотрю, добавила ли 2.3 какая-либо функциональность, которая облегчит эту задачу.

1 голос
/ 04 февраля 2011

Используйте

this.getValue() 
, который вернет значение привязки текущего столбца вместо
dataSetRow["RUN"]
...