Total по значению в группировке

отредактировано 07:32 Раздел: FastReport .NET
Здравствуйте!
Подскажите, пожалуйста, как мне решить следующую проблему:

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

то есть примерно так:

строки таблицы данных:
a 1 12 zx
b 1 41 xc
c 1 71 ds
d 2 13 gf
e 2 76 23
f 2 90 asd
g 2 50 fd

в отчет выводится так:

группа: 1
a 12 zx
b 41 xc
c 71 ds
группа 2:
d 13 gf
e 76 23
f 90 asd
g 50 fd
итого: 11

мне же надо, чтобы получилось "итого: 3"


Комментарии

  • отредактировано 07:32
    Здравствуйте,

    Посмотрите здесь:
    http://fast-report.com/documentation/UserM...printtotals.htm
  • отредактировано May 2010
    Приношу свои извинения, но я не нашел ответа на указанной странице. Как же все-таки в итоге суммировать значения не всех строк, а только значения из заголовков групп?

    Вот ещё пример, если первый не совсем понятен:

    Таблица данных:
    сумма по названию | Название | цена |
    240
    | asd
    | 150 |
    240
    | zxc
    | 250 |
    175
    | qew
    | 350 |
    175
    | dfg
    | 450 |
    175
    | vbnn
    | 550 |
    175
    | jtrew
    | 650 |
    175
    | gfd
    | 750 |
    175
    | poi
    | 850 |


    Вывод в отчет:
    250
    asd 150
    zxc 250
    175
    qew 350
    dfg 450
    vbnn 550
    jtrew 650
    gfd 750
    poi 850
    итого сумма: 1550


    А надо чтобы выводил:
    250
    asd 150
    zxc 250
    175
    qew 350
    dfg 450
    vbnn 550
    jtrew 650
    gfd 750
    poi 850
    итого сумма: 425
  • отредактировано 07:32
    В таком случае, подсчет суммы надо делать в скрипте.
        // объявляем переменную
        private int sum = 0;
    
        // создаем обработчик события BeforePrint у заголовка группы
        private void GroupHeader1_BeforePrint(object sender, EventArgs e)
        {
          // суммируем
          sum += (Int32)Report.GetColumnValue("Table.Column");
        }
    

    В нужном месте печатаем сумму в объекте "Текст":
    [sum]
  • отредактировано 07:32
    Спасибо, попробую.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.