форматирование кросс-таблиц

Обсуждение Stimulsoft Reports.NET
Ответить
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

форматирование кросс-таблиц

Сообщение compositum »

Кросс-таблица имеет несколько уровней, глубина которых определяются в нумерации через точки. Нужно чтобы каждый уровень был по своему отформатирован (цвет фона, шрифт, его высота и цвет). подскажите пожалуйста, как это сделать?

Изображение
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

форматирование кросс-таблиц

Сообщение compositum »

Создал условное форматирование:

Изображение

однако форматирование происходит не так как нужно - нужно формат применять к указанной ячейке, а заливается все целиком....

Изображение

подскажите пожалуйста, что делать???
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

форматирование кросс-таблиц

Сообщение compositum »

я так понял, он форматирует все целиком по самому последнему значению в поле "Уровень" - а это не то, что нужно получить...
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

форматирование кросс-таблиц

Сообщение compositum »

Все же насчет форматирования кросс-таблиц вопрос очень интересует, в виду того, что этого от меня требует заказчик...
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

форматирование кросс-таблиц

Сообщение Vital »

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

Есть проблема с обращением к источникам данных из условия кросстаблицы. В виду того, что значение кросс-таблицы - это итоговое значение (состоящее) из нескольких значений, не понятно с какой из строк источника данных сопоставлять это значение. Как вариант можно присвоить нужное значение свойству Tag. Затем в условии можно проверить его как tag и сделать необходимые действия.

Спасибо.
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

форматирование кросс-таблиц

Сообщение compositum »

Vital писал(а):Здравствуйте,
Есть проблема с обращением к источникам данных из условия кросстаблицы. В виду того, что значение кросс-таблицы - это итоговое значение (состоящее) из нескольких значений, не понятно с какой из строк источника данных сопоставлять это значение. Как вариант можно присвоить нужное значение свойству Tag. Затем в условии можно проверить его как tag и сделать необходимые действия.
Спасибо.
честно говоря не понял вас...
я добавил следующий код в поле тэг:

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

{Switch(ИсточникДанных1.Lv==0, 0, ИсточникДанных1.Lv==1, 1, ИсточникДанных1.Lv==2, 2, ИсточникДанных1.Lv==3, 3 )}
а как теперь в условном форматировании это заюзать, для организации этого самого форматирования?

Изображение
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

форматирование кросс-таблиц

Сообщение Vital »

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

В условном форматировании поставьте режим Expression. Затем используйте следующее выражение:

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

tag == myvalue
Спасибо.
Аватара пользователя
compositum
Сообщения: 252
Зарегистрирован: 15 янв 2008, 15:12
Откуда: Санкт-Петербург

форматирование кросс-таблиц

Сообщение compositum »

Vital писал(а):Здравствуйте,

В условном форматировании поставьте режим Expression. Затем используйте следующее выражение:

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

tag == myvalue
Спасибо.
ошибка:

Изображение

Я не понял вот какого момента: условное форматирование делаю для поля "Sum", вы говорите, что для реализации условного форматирования, нужно использовать свойство Тэг этого поля... Т.о. в поле Тэг я должен поместить значение, равное значению поля Lv для данной строки.
Т.о. задача разбивается на 2 части:
1. Закинуть в свойство Тэг поля "Sum" нужное значение.
2. в условном форматировании вытащить значение из свойтва Тэг (в поле "Sum") для сравнения его с определенным значением (0, 1 или 2).
В свете этого, все что я тут наворочал ранее видится мне ерундой....
Предположим, что выражение

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

tag == myvalue
работает.
В этом случае в тэг закинется не значение поля Lv, а значение поля "Sum", как я понимаю, поскольку код располагается в условии форматирования именно этого поля, и нигде не указано, что этот самый myvalue нужно брать из поля Lv (получается, что это скорее значение поля "Sum").
аке. исправил код на это:

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

tag == Lv
получаю:
Изображение

но опять же это не все... в прошлый раз я выяснил, что форматирование осуществляется по последнему значению поля Lv. Скорее всего код, который я использовал для размещения значения в поле Тэг:

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

{Switch(ИсточникДанных1.Lv==0, 0, ИсточникДанных1.Lv==1, 1, ИсточникДанных1.Lv==2, 2, ИсточникДанных1.Lv==3, 3 )}
мертвому припарка - думаю в него закидывается так же результат последней строки (т.к. по сути он ничем не отличается от первого варианта). в общем - не пашет ничего. может я не туда копаю? прошу пояснить тогда...
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

форматирование кросс-таблиц

Сообщение Vital »

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

Смысл использования поля тэг. Ячейка Sum обычно состоит из результата сложения нескольких полей из разныз строк таблицы. Вам нужно отформатировать эту ячейку в зависимости от значения поля строки таблицы. В поле тэг запишется первое значение из списка строк, которые были использованы для суммирования этого значения. Естественно, все значения из любой из строк, которые были использованы для суммироания конкретно этого значения должны быть одинаковы, иначе это не имеет смысла. Когда кросс-таблица будет построена, начнется процесс форматирования каждой ячейки. В результате будут обработаны Conditions для каждой ячейки. Что мы имеем в Conditions - итоговое значение в value, значение первой строки из суммированных в tag. Соотвественно, Вам нужно принять решение чему должно быть равно значение в tag и какое форматирование нужно использовать. Использование ссылок на источники данных в Conditions кросс-таблицы в данном случае не имеет смысла поскольку они всегда указывают на первую строку.

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