Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Forms Новый топик    Ответить
 как для одной строки в блоке установить другой цвет?  [new]
Shredder2003
Member

Откуда: деревня Ильбяково Азнакаевского района РТ
Сообщений: 434
Привет, друзья.

Ситуация следующая:
в блоке выводится куча строк.
Для некоторых строк нужно цвет фона сделать другим.

Как это сделать? судя по документации, set_item_property меняет свойство для ВСЕХ экземпляров в блоке.
А мне нужно изменить только некоторые.
4 июн 10, 11:19    [8890628]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
tru55
Member

Откуда: СПб
Сообщений: 19637
для некоторых есть SET_ITEM_INSTANCE_PROPERTY
4 июн 10, 11:24    [8890696]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
Shredder2003
Member

Откуда: деревня Ильбяково Азнакаевского района РТ
Сообщений: 434
точно, меняет.

вообще задача такая:
в каждой строке выводится наличное количество для этой строки.
и если наличное кол-во больше, чем некоторое значение, нужно подсветить такие строки.
Так вот, какой триггер нужно использовать, чтобы менять цвет для строки в зависимости от содержимого поля строки?
WHEN-NEW-ITEM-INSTANCE срабатывает только для первой строки, и для остальных строк только если тыкнешь по ней.
при старте, когда блок автоматом фетчит все записи, не пойму как сделать...
4 июн 10, 12:35    [8891512]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 5967
Посмотри свойства блока - должно быть типа "visual atribute для каррент рекорда". Его ставишь и все.
4 июн 10, 13:22    [8891934]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
Shredder2003
Member

Откуда: деревня Ильбяково Азнакаевского района РТ
Сообщений: 434
Leonid Kudryavtsev,

ты не понял.
мне не нужно подсвечивать ТЕКУЩУЮ строку.
нужно подсвечивать ВСЕ строки, у которых наличное количество > 10, к примеру.
4 июн 10, 13:44    [8892175]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
Тупой Пух
Member

Откуда:
Сообщений: 134
Shredder2003,

WHEN-NEW-RECORD-INSTANCE
может быть
POST-QUERY
4 июн 10, 13:54    [8892306]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
hominis
Member

Откуда:
Сообщений: 49
Создаешь атрибут визуализации XX_TEST к примеру, делаешь у него в свойствах цвет фона, какой тебе надо. И в нужном тебе триггере, например, POST-QUERY, пишешь:

IF :TEST.LOCT_ONHAND>10 THEN
SET_ITEM_INSTANCE_PROPERTY ('TEST.LOCT_ONHAND',
current_record,
visual_attribute,
'XX_TEST'
);
END;
6 июн 10, 19:07    [8898835]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
KotTN
Member

Откуда:
Сообщений: 17
hominis,
в триггер post_query

if :control.s<>:control.ss then
display_item('iv_t_invoicef.summa','red');
end if;

у меня работает
7 июн 10, 13:00    [8901666]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
John.D
Member

Откуда: Северск
Сообщений: 991
В When_Validate_Item:

IF :TEST.LOCT_ONHAND>10 THEN
SET_ITEM_INSTANCE_PROPERTY ('TEST.LOCT_ONHAND',
:SYSTEM.TRIGGER_record,
visual_attribute,
'XX_TEST'
);
END;
9 июн 10, 19:00    [8918656]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: как для одной строки в блоке установить другой цвет?  [new]
Алексун
Guest
hominis, а как создать этот атрибут?
если можно покажи на скрине, где что находится. В интернете не нашел к сожалению
5 июл 16, 23:44    [19373234]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 5967
Справа, в дереве, должно быть Visual Attributes (там же где Blocks, Canvas,Windows etc). Встаешь на эту веточку, нажимаешь "+" и все.

Сам с Forms давно не работал, т.ч. скриншота скинуть не могу.
6 июл 16, 12:31    [19374800]     Ответить | Цитировать Сообщить модератору
 Re: как для одной строки в блоке установить другой цвет?  [new]
Andrey Fomchenko
Member

Откуда:
Сообщений: 2
hominis,
рабочий вариант.
20 июн 17, 14:33    [20577591]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Forms Ответить