Вычисление полей в отчетах
Вы можете использовать Конструктор отчетов (Report Designer), чтобы создать в вашем отчете поля, которых не было в источнике данных. Это удобно, если вы хотите добавить в ваш отчет новое поле, и вычислить значения этого поля на основе атрибутов исходных данных. Чтобы создать такое поле, вы можете использовать выражения С# для обработки строковых и числовых полей, а также полей даты.
Для создания вычисленных полей в Конструкторе отчетов (Report Designer) доступно два способа. Во-первых, можно добавить текстовое поле в отчет и ввести в текстовое поле выражение, которое будет выполнено при формировании отчета. Действия в рамках этого метода описаны ниже (вкл. примеры выражений). Во-вторых, можно добавить в отчет несвязанное вычисленное поле. Это можно сделать только из дерева разделов отчета. Щелкните правой кнопкой мыши вычисленный узел в древовидном меню и выберите "Добавить" (Add). В результате будет создано несвязанное поле, которое можно использовать в отчете. Необходимо задать выражение несвязанного поля в свойстве формулы поля. После настройки формулы необходимо перетащить поле в раздел отчета, где оно будет использоваться.
Несвязанные поля позволяют использовать в формуле другие несвязанные поля. В результате можно создать поля суммирования, использующие несвязанные поля для создания динамического содержимого в отчете.

Нельзя использовать входящие вычисленные поля для вычисления статистики суммирования, которая использует другую статистику суммирования в формуле.
- Откройте отчет в Дизайнере отчетов (Report Designer).
- В списке Элементы дизайна (Design Elements), щелкните TextBox и перетащите элемент в нужное положение в компоновке отчета.
-
Добавьте выражение в область Поле данных (Data Field) сетки Свойства элемента (Element Properties). Выражения всегда начинаются со знака равенства (=).
Математические
=количество + 5
=количество – 3
=Диаметр * 3,14
=Численность населения / площадь
=( double)System.Math.Round(CostPerUnit*Inventory)
Дополнительные сведения о поддерживаемых математических функциях см. в разделе Справочник MSDN по классу Math.
Условные
=(ValueField == 1)?"One":"Not One"
=(Price < 10)?"Clearance":"Price-Change"
=(SoilType == System.DBNull.Value) ? "Тип почв не указан": SoilType
Дата/Время
=System.DateTime.Now.ToString()
=System.DateTime.UtcNow.ToString()
Дополнительные сведения о поддерживаемых функциях даты/времени см. в разделе Справочник MSDN по структуре DateTime.
Связанные
="Средняя стоимость: " + avgCostField
=ZipCode + ZipCode4Digit
Строковые
=Name.Substring(0,4)
=Name.Replace("Test", "Final")
=Name.ToUpper()
Дополнительные сведения о поддерживаемых строковых функциях см. в разделе Справочник MSDN по классу String.
- Щелкните Запустить Отчет (Run Report), чтобы просмотреть предварительные результаты.