.NET ReportViewer - Как я могу поставить итоги внизу каждой страницы - PullRequest
1 голос
/ 17 июня 2010

Я создал отчет о платежах, и мне нужно иметь возможность размещать итоги внизу каждой страницы, такие как общее количество платежей, общий баланс и т. Д. Дизайнер rdlc не позволит мне ссылаться на поля внижний колонтитул страницы?Спасибо за помощь

Ответы [ 3 ]

4 голосов
/ 23 сентября 2010

Обновленный ответ

Чтобы сделать то, что вы просите, вам нужно получить доступ к коллекции ReportItems.

Из TechNet :

  • Коллекция ReportItems - это коллекция текстовых полей на каждой странице после отображения отчета.

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

= SUM (ReportItems! Payment.Value)

Старый ответ

Необходимо установить область действия агрегатной функции SUM, основываясь на наборе данных, из которого создается отчет.

Следующее будет работать для вас (просто измените нужное поле на сумму и название вашего набора данных:

=Sum(Fields!ID.Value, "DataSet1")

Вы можете даже пойти на шаг дальше, если хотите отфильтровать набор данных. Следующий код ограничит сумму идентификаторами свыше 4 (измените пример и примите его, как вам нужно):

=Sum(IIF(Fields!ID.Value < 4,0,Fields!ID.Value), "DataSet1")
1 голос
/ 18 февраля 2012

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

Попробуйте это выражение для приведения значения:

=Sum( CDbl(Fields!UnitPrice.Value, "DataSet1"))
0 голосов
/ 30 июня 2010

Редактировать выражение

Введите что-то вроде этого.

=Sum(Fields.BLAH.Value)
...