вторник, октября 10, 2006

DatGrid: меняем фоновый цвет ряда

Чтобы изменить фоновый цвет ряда необходимо:

1. Создайте новый класс, расширяющий mx.controls.DataGrid. Это может быть как MXML, так и ActionScript файл.
2. Переопределите метод drawRowBackground:
override protected function drawRowBackground
(s:Sprite, rowIndex:int, y:Number, height:Number,
color:uint, dataIndex:int):void
{
// изменяем цвет
color = 0xFF0000;
// вызываем метод родителя
super.drawRowBackground(s,rowIndex,y,
height,color,dataIndex);
}

3. Можете пользоваться.

Внутри drawRowBackground можно тестировать данные. Аргумент dataIndex может быть использован для поиска элемента в dataProvider, соответствующего этому ряду. Например, если необходимо выделить зеленым все ряды с данными больше 1000:

var item:Object = (dataProvider as ArrayCollection).getItemAt(dataIndex);
if( item.quantity > 1000 ) color = 0x00FF00;


Все просто.

Взято у Пента.

Комментариев нет: