PDA

Просмотр полной версии : DataGrid (переопределить свойства колонок)


Xa13gi
22.03.2010, 00:20
Добрый вечер, уважаемые.

Есть проблемка:

Есть некий DataGrid с колонками, который я начитываю с XML.

<mx:DataGrid dataProvider="{dataSet.ROW}" editable="true" sortableColumns="true" height="150">
<mx:columns>
<mx:DataGridColumn headerText="Зажигание" dataField="IGN" width="100" textAlign="center" labelFunction="ign_f2"/>
</mx:columns>
</mx:DataGrid>

Вот в моём поле "IGN" есть значения 0 или 1.

Я хотел бы переопределить вывод:
вместо 1 чтобы было написанно "ВКЛ",
а вместо 0 - "ВЫКЛ".

Я так понял что мне нужно определить функцию: labelFunction=""

Но, к сожалению, я так и не смог достучаться до значений в этой функции:
public function ign_f2(item:Object, column:DataGridColumn): String
{
var v_res :String = 'хз'
return v_res;
}

трасировка
trace(column.dataField);
возвращается мне наименование моей колонки IGN ровно столько раз сколько строк в самом наборе данных.

Куда копать?

И в догонку такой вопрос... опять же в зависимости от значения (0 или 1 как в этом примере) можно переопределить остальные параметры, такие как backgroundColor и остальные, которые задаются в <mx:DataGridColumn>

Заранее спасибо!

BeDLiNt
22.03.2010, 11:32
1. Вам передается item. Это элемент вашего датапровайдера. В нём и сморите. item.IGN.
2. Для смены цвета фона лабелФункция не поможет. itemRenderer - поможет.

Xa13gi
23.03.2010, 01:01
угу!!! спасибо, помогло !

только вот если я полезу в itemRenderer то вызов LabelFunction у меня затирается...

мне главнее было фон нарисовать правильный :) так что остальное я поправил в другом месте :)