Вам вообще не нужен пользовательский элементендер. Это классический пример использования labelFunction.
Сначала напишите функцию метки следующим образом:
private function roleLabelFunction(data:Object, column:DataGridColumn):String {
switch(data.role) {
case 0: return 'Super Admin';
case 1: return 'Admin';
case 2: return 'Regular User';
default: return 'Unknown';
}
//Some flex compilers show a compiler error if there is no return in the main function body, so this is the same as the default case
return 'Unknown';
}
Затем используйте это как labelFunction
вашей таблицы данных
<mx:DataGridColumn headerText="Role" id="roleAdmin" headerStyleName="myHeaderStyles" labelFunction="roleLabelFunction">