Изменение цвета строки в browse по условию
Модераторы: m0p3e, edward_K, Модераторы
Изменение цвета строки в browse по условию
Добрый день!
Производим докомпиляцию интерфейса. Столкнулись с необходимостью изменить цвет шрифта/фона строки в browse при определенных условиях. (как, например, В модуле "Управление персоналом" выделяются красным цветом юбилейные дни рождения).
Подскажите, пожалуйста, как это можно сделать? Если можно, пример.
Производим докомпиляцию интерфейса. Столкнулись с необходимостью изменить цвет шрифта/фона строки в browse при определенных условиях. (как, например, В модуле "Управление персоналом" выделяются красным цветом юбилейные дни рождения).
Подскажите, пожалуйста, как это можно сделать? Если можно, пример.
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Re: Изменение цвета строки в browse по условию
вроде этого пишете .. только тут цвет шрифта .. меняйте функцию на заливку ..
Код: Выделить всё
#doc
подсветка строк по типу
#end
function fnGetColor(_LStatus:word):integer;
{
fnGetColor := mcColorBlack;
if (_LStatus = mcStatusSave) fnGetColor := mcColorGreen;//
if (_LStatus = mcStatusCancel) fnGetColor := mcColorGray;
if (_LStatus = mcStatusError) fnGetColor := mcColorRed;
}
Код: Выделить всё
browse br_Head;
show(,,84,17);
Table LiEI;
Fields
LiEI.DESCR #3'DESCR':[6] ,Protect,{font={bold=False;color = fnGetColor(LiEI.LStatus)}};
Время ведет!
Re: Изменение цвета строки в browse по условию
Для всей строки будет так:
Код: Выделить всё
browse br_Head;
show(,,84,17);
Table LiEI;
Fields
{font={bold=False;color = fnGetColor(LiEI.LStatus)}}
LiEI.DESCR #3'DESCR':[6] ,Protect;
Re: Изменение цвета строки в browse по условию
browse br_Head;
show(,,84,17);
Table LiEI;
Fields
{font={bold=False;color = fnGetColor(LiEI.LStatus)}}
LiEI.DESCR #3'DESCR':[6] ,Protec
работает когда создаем свой интерфейс.
Мне необходимо внести изменения в стандартный Галактический интерфейс (Alter interface). На fnGetColor ругается.
Может, кто-нибудь использовал SetFontBackgroundColor?
show(,,84,17);
Table LiEI;
Fields
{font={bold=False;color = fnGetColor(LiEI.LStatus)}}
LiEI.DESCR #3'DESCR':[6] ,Protec
работает когда создаем свой интерфейс.
Мне необходимо внести изменения в стандартный Галактический интерфейс (Alter interface). На fnGetColor ругается.
Может, кто-нибудь использовал SetFontBackgroundColor?
-
- Сообщения: 17
- Зарегистрирован: 21 май 2008, 11:03
- Откуда: Витебск
Re: Изменение цвета строки в browse по условию
Полагаю, в alter не добавили функцию fnGetColor, приведенную выше.KorevaAD писал(а):browse br_Head;
show(,,84,17);
Table LiEI;
Fields
{font={bold=False;color = fnGetColor(LiEI.LStatus)}}
LiEI.DESCR #3'DESCR':[6] ,Protec
работает когда создаем свой интерфейс.
Мне необходимо внести изменения в стандартный Галактический интерфейс (Alter interface). На fnGetColor ругается.
Может, кто-нибудь использовал SetFontBackgroundColor?
-
- Постоянный гость
- Сообщения: 76
- Зарегистрирован: 07 июн 2007, 12:32
- Откуда: Витебск
- Контактная информация:
Re: Изменение цвета строки в browse по условию
В атлантис, начиная с 5.4.37 появилась функция
cfsSetExtProp (aObjName : string | longInt; aPropName : string | longInt; aField : anyType);
где
например в интерфейсе накладных на отпуск выделим цветом сумму у всех накладных более 100000 руб.
К сожалению сделать чтоб выделились все поля, можно только последовательным перебором полей в ф -ии cfsSetExtProp, или целиком заменой browse.
cfsSetExtProp (aObjName : string | longInt; aPropName : string | longInt; aField : anyType);
где
Код: Выделить всё
aObjName - имя или указатель объекта.
aPropName - имя или код свойства из следующего списка:
cfpFontBold = 1207;
cfpFontItalic = 1208;
cfpFontColor = 1209;
cfpFontBackColor = 1210;
cfpInputMask = 1211.
Код: Выделить всё
#component "L_Soprdoc"
alter interface "SoprDoc"
HandleEvent
cmInit:
{
if(Inherited::HandleEvent(cmInit) = heOk) {}
cfsSetExtProp('c_BRSELECTNAKL_SUM_Сумма',1210,if(Katsopr.summa>100000,9,0));
}
end;
end.
Re: Изменение цвета строки в browse по условию
Спасибо за ответы!
Dmitry_Sol, благодарю за описание, то, что нужно!
Использовала cfsSetExtProp, строку целиком выделила перебором всех полей.
Dmitry_Sol, благодарю за описание, то, что нужно!
Использовала cfsSetExtProp, строку целиком выделила перебором всех полей.