Как в BIRT получить доступ к произвольному набору данных из JavaScript?

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

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

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

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

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

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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
8 623
2

Ответы 2

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

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

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

pc1oad1etter 27.09.2008 00:57

Если это окажется маршрутом, будет ли способ легко «запросить» таблицу, чтобы получить нужную мне ячейку? Эта таблица может быть довольно большой, поэтому я не знаю, действительно ли это будет решением.

pc1oad1etter 29.09.2008 21:12

Использовать

 this.getValue() 
which will return the current column's binding value instead of
 dataSetRow["RUN"]

Другие вопросы по теме