CrossTab Custom Totals

Обсуждение Stimulsoft Reports.NET
Ответить
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

CrossTab Custom Totals

Сообщение Леонид »

Добрый вечер!

1) Подскажите, как расчитать значение в итоговой колонке. Всё довольно просто, но т.к. рендерит crosstab не строки, а колонки в итогах, то в событии ProcessCell всё это не получается так просто записать, а в ProcessCell итоговой колонки посчитать по указанной формуле, где цифры (1), (2) - номера колонок. Годов может быть произвольное количество.
Прилагаю скриншот.

Оговорюсь, что потратил уже значительное количество времени, но не получилось ничего сделать.

Единственный вариант расчёта по строкам, как я понял, это что-то вроде:

if (e.Cell.SummaryIndex == 5)
{
int yearNum = 0;
Cells[-11 -(6 * yearNum) , 0], где -11 это "Отгрузка" за 2018, а -17 это "Отгрузка" за 2017.
// то есть зная количество лет, можно впринципе всё это расчитать построчно. Но это не очень удобно.
}

Пробовал так же сохранять e.Text (распарсив его в decimal) в массив в событии ProcessCell, но т.к. вначале рендерится 2017-й год, вся колонка Отгрузки, потом 2018, т.е. массив уже идёт не по колонкам, и в итогах уже подсчитать это построчно весь проблематично.

Пожалуйста, очень нужна ваша помощь.

2) Как можно поменять caption заголовка итога (в итоге - на скриншоте слово "Всего) справа), если ставим MergeHeaders = false, то слово "Всего" дублируется, так и надо, я понимаю, но люди хотят кастомный заголовок.
Вложения
5075.png
5075.png (732.18 КБ) 1898 просмотров
Aleksey
Сообщения: 2763
Зарегистрирован: 22 апр 2010, 06:57

Re: CrossTab Custom Totals

Сообщение Aleksey »

Здравствуйте,

1) Сложно так посоветовать решение без примера. Как вариант, использовать 2 прохода, в первом запоминать необходимые значения, а во втором уже на основе их делать необходимые вычисления.

2) Не совсем понятна проблема. В редакторе кросс-таблицы, поменять свойство Text.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Re: CrossTab Custom Totals

Сообщение Леонид »

>>> 1) Сложно так посоветовать решение без примера. Как вариант, использовать 2 прохода, в первом запоминать необходимые значения, а во втором уже на основе их делать необходимые вычисления.

Пример приведён на скриншоте, с указанием колонок по годам и их индексов.

>>> 2) Не совсем понятна проблема. В редакторе кросс-таблицы, поменять свойство Text.

Это очевидно, но я о другом. Ячейка "Всего" (крайняя правая сверху), при сброшенном флаге MergeHeaders (false), - тогда колонок "Всего" будет 6. Так вот, как сделать (вероятно, по индексу колонки), что бы каждая из 6 колонок имела свой заголовок.
Aleksey
Сообщения: 2763
Зарегистрирован: 22 апр 2010, 06:57

Re: CrossTab Custom Totals

Сообщение Aleksey »

Здравствуйте,

1) Без примера самого отчета, можем только дать общие рекомендации - Как вариант, использовать 2 прохода, в первом запоминать необходимые значения, а во втором уже на основе их делать необходимые вычисления.

2) Попробовать также использовать события ProcessCell ячеек.

Спасибо.
Ответить