HighlightCondition

Обсуждение Stimulsoft Reports.NET
Ответить
vvip
Сообщения: 4
Зарегистрирован: 07 авг 2006, 08:37
Откуда: Russia, Krasnoyarsk

HighlightCondition

Сообщение vvip »

После установки сервис-релиза к версии 1.60 перестало работать HilightCondition - пишетo bsolete, use Conditions.
Не могли бы вы привести пример использования?
Следующий кусок кода - не работает

//Add highlight
StiCondition condition = new StiCondition();
condition.BackColor = Color.AliceBlue;
condition.TextColor = Color.Black;
condition.Expression = "(Line & 1) == 1";
condition.Enabled = true;
dataText.Conditions.Add(condition);

Черезстрочной раскраски как это было при использовании HilightCondition не получается.

Такой вариант тоже не прокатил:

StiCondition condition = new StiCondition();
condition.BackColor = Color.AliceBlue;
condition.TextColor = Color.Black;
condition.Expression = "(Line & 1)";
condition.Condition = StiFilterCondition.EqualTo;
condition.Value1 = "1";
condition.Enabled = true;
dataText.Conditions.Add(condition);

Посли долгих попыток прошел только такой вариант:
StiCondition condition = new StiCondition("(Line & 1)==1", Color.Black, Color.AliceBlue,dataText.Font,true);
dataText.Conditions.Add(condition);

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

HighlightCondition

Сообщение Vital »


В следующей версии концепция HighlightCondition будет заменена на Conditions.

Для черезстрочной подсветки включите свойство CalcInvisible в true - все появится.

Или вместо Line напишите Customers.Position.

Или используйте стили датабэнда OddStyle и EvenStyle.

Код подкорректируем для обратной совместимости. Спасибо.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

HighlightCondition

Сообщение Vital »

Мы проверили код. Все работает верно. Если Вы создаете StiCondition без аргументов, а потом инициализируете
свойства, то для выражения необходимо проинициализировать следующие свойства:

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

StiCondition condition = new StiCondition();
condition.BackColor = Color.AliceBlue;
condition.TextColor = Color.Black;
condition.Expression = "(Line & 1) == 1";
condition.Enabled = true;

condition.Item = StiFilterItem.Expression; <<<<<<<<<<<<<<<<<<<<

dataText.Conditions.Add(condition);
т.е. условие может быть двух видов - Выражение или Условие.

Но лучше всего использовать конструкторы с аргументами.

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