У вас есть две другие альтернативы передаче по параметру, хотя ни одна из них не очень красива.
(Осторожно! После того, как я написал следующий абзац, я обнаружил, что значения по умолчанию для запросов не поддерживаются в режиме локальной обработки, поэтому это первое решение может оказаться неэффективным для вас, как и для меня.)
Вы можете создать скрытый параметр отчета со значением по умолчанию, установленным из набора данных, а затем сослаться на него с помощью синтаксиса Report.Parameters!MyParam.Value
. Вы должны быть осторожны при тестировании, поскольку (по крайней мере, в BI studio 2005) параметры отчета, по-видимому, надежно не инициализируются повторно из БД на вкладке Предварительный просмотр.
В качестве альтернативы вы можете создать скрытое текстовое поле в отчете с его текстом, заданным из набора данных, а затем ссылаться на текстовое поле из кода. В этом случае вы должны передать объект ReportItems
в качестве параметра, но небольшое преимущество состоит в том, что это только один дополнительный параметр. Обязательно строго введите параметр при его объявлении:
public Sub MyCustomCode(ri as ReportItems)
Код будет работать в BI studio без объявления типа, но для меня это вызвало ошибки при управлении средством просмотра отчетов в режиме локальной обработки, если не было 'as ReportItems
'.
В любом случае это действительно полезно только для данных на уровне страницы, поэтому функции для использования в таблице должны по-прежнему принимать параметры.