Вычисление полей в отчетах

Вы можете использовать Конструктор отчетов (Report Designer), чтобы создать в вашем отчете поля, которых не было в источнике данных. Это удобно, если вы хотите добавить в ваш отчет новое поле, и вычислить значения этого поля на основе атрибутов исходных данных. Чтобы создать такое поле, вы можете использовать выражения С# для обработки строковых и числовых полей, а также полей даты.

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

Несвязанные поля позволяют использовать в формуле другие несвязанные поля. В результате можно создать поля суммирования, использующие несвязанные поля для создания динамического содержимого в отчете.

ПримечаниеПримечание:

Нельзя использовать входящие вычисленные поля для вычисления статистики суммирования, которая использует другую статистику суммирования в формуле.

Шаги:
  1. Откройте отчет в Дизайнере отчетов (Report Designer).
  2. В списке Элементы дизайна (Design Elements), щелкните TextBox и перетащите элемент в нужное положение в компоновке отчета.
  3. Добавьте выражение в область Поле данных (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.

  4. Щелкните Запустить Отчет (Run Report), чтобы просмотреть предварительные результаты.
  5. Проверьте орфографию поля или синтаксис выражения, если значение поля возвращает сообщение об ошибке Сбой скрипта управления для элемента управления (Control Script failed for Control).

Связанные темы

9/11/2013