Например, для изменения цвета фона или текста записей таблицы нужно воспользоваться методом
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);
}
Антон Скоробогатов