Динамически изменять DefaultLeafIcons в AdvancedDataGrid

Обзор:

У меня есть advancedDataGrid, в котором я использую GroupingCollection, и я хочу иметь возможность изменять отдельные DefaultLeafIcons (без дочерних значков) на основе значения, которое я получаю от dataProvider. Может ли кто-нибудь пролить свет на то, как это делается.

Подробности: в данных, которые я получаю, есть значение isShared, равное 1 или 0, если значение равно 1. Я хочу иметь возможность отображать abc.png, если значение равно 0 display xyz.png.

Я использую Flex 3.6 SDK.


person Chris    schedule 28.06.2012    source источник


Ответы (1)


Я считаю, что вам следует реализовать iconFunction для сетки данных.

Пример реализации iconFunction будет выглядеть следующим образом.

[Embed("abc.png")]
private var abcIcon:Class;

[Embed("xyz.png")]
private var xyzIcon:Class;

private function iconFunc(item:Object):Class {
   var iconClass:Class;
   var itemType:int = item.isShared; //TypeCast item accordingly.
   switch(itemType)
   { case 1: iconClass = abcIcon;
             break;
     case 0: iconClass = xyzIcon;
         break;
    }
    return iconClass;                       
 }

Не забудьте связать iconFunc с сеткой данных, добавив следующий атрибут.

iconFunction="iconFunc"
person Ravish    schedule 01.07.2012
comment
Это именно то, что я искал. Это действительно должно быть лучше задокументировано. - person Chris; 07.07.2012