Нижний колонтитул отчета RDLC со значением из «Текущая запись» - PullRequest
5 голосов
/ 15 февраля 2012

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

Так что, если у кого-то есть идеи, которые помогут решить эту проблему, это тоже было бы здорово.

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

=First(Fields!SomeField.Value, "SomeDataSource" )
=Sum( ...
=Last( ...   
etc...

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

Любые предложения по любому из них будут великолепны. Благодаря.

Ответы [ 2 ]

2 голосов
/ 10 февраля 2017

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

  • Приведение всех строк в отчете к одинаковой высоте.
  • Расчет количества строк, необходимых для заполнения страницы (за вычетом высоты моего платежного квитанции.
  • Получение количества позиций в выписке.
  • Вычисление оставшегося количества строк, необходимых для перемещения моего платежного квитанции в конец страницы.
  • Добавление подпунктаотчет с вычисленным количеством пустых строк, чтобы заполнить необходимое пространство между позициями и платежным поручением.

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

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

0 голосов
/ 28 января 2015

В нижнем колонтитуле вы можете обратиться к элементу отчета из тела отчета, например:

=ReportItems!myFooterValueTextBox.Value

Проблема в том, что вы можете ссылаться только на один элемент отчета в нижнем колонтитуле, поэтому вам может потребоваться добавить в таблицу строку невидимого нижнего колонтитула и объединить все ваши итоги в одну ячейку (myFooterValueTextBox) в этой строке:

=First(Fields!SomeField.Value, "SomeDataSource") + "|" +
 Sum(...) + "|" + .... +
 Last(...)

В моем примере я использовал pipe в качестве разделителя, поэтому в нижнем колонтитуле я бы разбил строку и поместил значения в соответствующие контейнеры, например:

=Split(ReportItems!myFooterValueTextBox.Value,"|")(0)
...