Почему я должен использовать метод BIRT setGlobalVariable ()? - PullRequest
1 голос
/ 24 марта 2011

У меня есть несколько отчетов, где я использую переменные JavaScript между различными обработчиками событий.

Пример:

//Data Set beforeOpen:
fooList = "";

//Data Set fetch:
fooList += row['foos'] + ", ";

//Dynamic Text expression, somewhere in the report:
fooList

Этот код работает для меня в 2.6.2.(Над этим DynamicText есть невидимая таблица, которая вызывает использование набора данных)

Документация говорит, что я должен использовать reportContext.setGlobalVariable("foo","bar");, но я пока не обнаружил, что использование простых назначений не рекомендуется.

Каковы недостатки использования простых назначений в обработчиках событий BIRT Javascript, таких как foo="bar";, и последующего чтения их в другом обработчике событий?

1 Ответ

3 голосов
/ 05 апреля 2011

Установив свои переменные таким образом, вы фактически сможете получить к ним доступ в любом месте слоя сценариев.Если вам нужно расширить область действия переменной в скомпилированный код с помощью обработчика событий Java, вам нужно будет использовать глобальную переменную для использования переменной.

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

Удачи!

...