Страница 1 из 1

Кросс отчет: подсветить максимум по столбцу

Добавлено: 19 май 2014, 10:47
DmitryRu
Мне необходимо подсветить максимумы с столбцах кросс таблицы.
Как и рекомендуется здесь, я создал хэш-таблицу и заполнил ее
http://forumru.stimulsoft.com/viewtopic ... 19&p=12577&
Проблема в том, что в событии CrossTab1_Sum1_Conditions (при обработке Conditions) в аргументах события StiValueEventArgs нет информации, для какой колонки это событие.
Рекомендуется делать это через tag.
Однако, при обработке события создания тэга CrossTab1_Sum1_GetTag тоже нет информации о столбце.
А при обработке события CrossTab1_Sum1_ProcessCell не понятно как задать Tag.

В итоге, не понимаю, как мне написать выражения для условия (Conditions), где взять номер текущего столбца.

Re: Кросс отчет: подсветить максимум по столбцу

Добавлено: 19 май 2014, 13:03
Леонид
День добрый!

Сталкивался с подобной задачей. В событии ProcessCell вашей ячейки CrossTab1_Sum1 пишете следущее:

Код: Выделить всё

decimal value = 0;

// красим согласно условию в тот или иной цвет
if (decimal.TryParse(e.Text, out value))
  e.Cell.Field.Brush = (value > 0) ? new StiSolidBrush(Color.Chartreuse) : new StiSolidBrush(Color.HotPink);
Номер текущего столбца в ячейках сумм можно определять так с помощью e.Cell.SummaryIndex (см. подбробнее здесь http://forumru.stimulsoft.com/viewtopic ... dex#p11339).

Номер текущего столбца (колонки) и строки можно определять так (см. также здесь h[url]ttp://forumru.stimulsoft.com/search.php?keywords=e.Column+%3D%3D&t=2880&sf=msgonly[/url]):

Код: Выделить всё

if (e.Column == 1)
{
  // что-то делаем
}
Строка - e.Column, колонка - e.Row

Re: Кросс отчет: подсветить максимум по столбцу

Добавлено: 19 май 2014, 13:49
DmitryRu
Спасибо!
Более корректно, вторая ссылка:
http://forumru.stimulsoft.com/search.ph ... sf=msgonly

Re: Кросс отчет: подсветить максимум по столбцу

Добавлено: 21 май 2014, 10:51
HighAley
Здравствуйте.

Я так понимаю проблема решена?
Будем рады вам помочь, если возникнут ещё вопросы.
Также пишите, если чего-то не нашли в нашей документации, мы стараемся её сделать лучше.

Спасибо.

Re: Кросс отчет: подсветить максимум по столбцу

Добавлено: 21 май 2014, 15:49
DmitryRu
Да, проблема решена.
Подскажите, где в документации можно узнать о таких магических переменных:
IsFirstPass, IsSecondPass
или

Код: Выделить всё

Stimulsoft.Report.Components.StiConditionHelper.ApplyFont(sender, 
		new System.Drawing.Font("Arial", 8.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 204), 
		Stimulsoft.Report.Components.StiConditionPermissions.All);

Re: Кросс отчет: подсветить максимум по столбцу

Добавлено: 23 май 2014, 12:38
HighAley
Здравствуйте.

На данный момент этого в документации нет.
Что именно вы хотели узнать?
Мы обязательно добавим необходимое вам описание в документацию

Спасибо.

Re: Кросс отчет: подсветить максимум по столбцу

Добавлено: 26 май 2014, 13:57
DmitryRu
Здравствуйте.
Мне кажется, документация должна описывать и тонкие моменты использования продукта.
На мой взгляд, в документации не описан двухпроходный режим построения отчета - что происходит в этом случае.
И, для вычисления того, как можно изменить шрифт, тоже пришлось сначала генерить код .cs, а потом из него выкусывать вышеприведенный кусок.
В идеале, мне кажется, и это могло бы быть в документации - хотя бы сама идея о том, что сначала можно сохранить репорт как .cs файл, а из него узнать, как можно использовать имеющиеся возможности.

Re: Кросс отчет: подсветить максимум по столбцу

Добавлено: 26 май 2014, 16:18
Aleksey
Здравствуйте,

К сожалению, но нет возможности описать все моменты. Продукт очень обширный, постоянно что-то добавляется, выходят новые версии.
Документация постоянно обновляется, изменяется и дополняется.

Спасибо.