CrossTab Custom Totals
Добавлено: 26 июн 2018, 17:24
Добрый вечер!
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, то слово "Всего" дублируется, так и надо, я понимаю, но люди хотят кастомный заголовок.
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, то слово "Всего" дублируется, так и надо, я понимаю, но люди хотят кастомный заголовок.