Показать сообщение отдельно
Старый 03.12.2001, 18:08   #1  
Anton Sk. is offline
Anton Sk.
Участник
 
35 / 11 (1) +
Регистрация: 14.11.2002
Изменение вида записей в Grid
Например, для изменения цвета фона или текста записей таблицы нужно воспользоваться методом DisplayOption(common _pl, FormRowDisplayOption _options), где через параметр _options вызываются два метода:

- backColor(WinAPI::RGB2int(r,g,b)), где r,g,b – три целых числа от 0 до 255 для красного, зеленого и синего цветов. Метод изменяет цвет фона записи;

- textColor(WinAPI::RGB2int(r,g,b)), изменяет цвет шрифта записи в Grid.

Для отмены displayOption надо воспользоваться методом ClearDisplayOptions(). Вызывать его лучше из reread().


Пример:

1. Метод displayoption, в котором мы по каким-то критериям (неважно по каким), меняем свойства отображения записей в Grid:
X++:
public void displayOption(PurchTable _p1, FormRowDisplayOption _options)
{
    if (_p1.PurchStatus == PurchStatus::Backorder)
    {
        _options.backColor(WinAPI::RGB2int(225,255,225));           [i]// Светло-зеленый цвет   [/i]
    }
    else
    {
        _options.backColor(WinAPI::RGB2int(255,255,255));           [i]//Белый цвет[/i]
    }
    if (_p1.PurchaseType == PurchaseType::ReturnItem)
    {
        _options.textColor(WinAPI::RGB2int(255,0,0));            [i]//Красный цвет[/i]
    }
    else
    {
        _options.textColor(WinAPI::RGB2int(0,0,0));                 [i]//Черный цвет[/i]
    }
    super(_p1, _options);
}
2. Метод clearDisplayOption(common _pl), вызывает displayOption:

X++:
public void write()
{
    PurchTable cur = PurchTable_ds.cursor();

    super();

    PurchTable_ds.clearDisplayOption(cur);
}
Антон Скоробогатов
За это сообщение автора поблагодарили: decoder (1).