Я бы хотел, чтобы данные, предоставленные DataGrid, решили, как лучше всего это сделать (т. Е. Пусть данные переносят с собой объект, который будет выполнять рендеринг).Flex ItemRenderer как поле `data`?
Например, путь создания «визуализируемый» интерфейс, который имеет «рендерер: IFactory» свойство, то используется, как показано ниже:
<mx:DataGrid x="0" y="0" width="100%" dataProvider="{myDataProvider}">
<mx:columns>
<mx:DataGridColumn headerText="Task" width="100"
itemRenderer="{(data as Renderable).renderer}"/>
</mx:columns>
</mx:DataGrid>
Но чтобы сделать это, визуализируемый должен простираться IEventDispatcher
, что кажется как немного больше ...
Я также попытался с помощью:
itemRenderer="{(data as Renderable).getRenderer()}"
Который ничего не делает (на самом деле, метод getRenderer
никогда не вызывается).
Есть ли лучший способ сделать это? Я делаю что-то принципиально неправильно?
Спасибо!
Спасибо за ответ. Причина, по которой я хочу поставить данные смешения, и взгляд таким образом заключается в том, что может быть другой тип данных, выходящих из провайдера, и я думаю, что будет наименьшая общая связь, если каждая точка данных знает, как сделать ее сам. –