2015-05-26 4 views
0

У меня есть отчет RDLC в VS 2013, который состоит из двух отдельных разделов. Я бы хотел показать нижний колонтитул только в первом разделе. Для этого у меня есть переменная отчета, называемая IsFirstSection, для которой установлено значение «True». В моем нижнем колонтитуле у меня есть оператор if, который отображает текст, если эта переменная = «Истина».Как получить отчет RDLC для запуска настраиваемого кода отчета?

Прежде чем второй раздел будет отображаться в отчете, я хотел бы установить для этой переменной значение false. Для этого у меня есть функция в настраиваемом коде отчета SetVariableValue, который принимает переменную и значение и делает именно это. У меня есть текстовое поле перед вторым сектором, который вызывает эту функцию с помощью Code.SetVariableValue (Variables! IsFirstSection, «False»). Однако этот код, похоже, не выполняется, поскольку IsFirstSection по-прежнему «True».

Когда я делаю эту точную настройку в отчете RDL, она работает правильно. Я даже попытался создать пользовательскую функцию кода в RDLC, которая просто возвращает строку, и когда я вызываю ее из выражения текстового поля, ничего не отображается. Как я могу заставить RDLC запускать настраиваемый код отчета?

ответ

0

Относительная переменная представляет собой плохой выбор для этого требования. Вероятно, это просто шанс, что он работает при определенных условиях. Некоторые цитаты из DOCO:

«По умолчанию переменная отчета вычисляется один раз ...»

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

https://msdn.microsoft.com/en-us/dd255208.aspx

Я хотел бы использовать вместо ссылки ReportItems. Вероятно, это указывает на текстовое поле, в котором отображается поле, которое изменяет значение между «разделами».

Смежные вопросы