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

HighlightCondition

Добавлено: 10 авг 2006, 03:52
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);

Сижу, сам с собой разговариваю...

HighlightCondition

Добавлено: 10 авг 2006, 07:04
Vital

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

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

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

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

Код подкорректируем для обратной совместимости. Спасибо.

HighlightCondition

Добавлено: 10 авг 2006, 16:40
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);
т.е. условие может быть двух видов - Выражение или Условие.

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

Спасибо.