Hi Hugo,

in Royale the renderer architecture is more decoupled.
You should look for "IOwnerViewItemRenderer" (that most of the time will be
the view bead of the component)
then a view use to be a "BeadViewBase" that has "host" property to refer to
the strand.

Another importante piece are the renderer "initializers".
In the case of DGColumnList:

IItemRendererInitializer: ClassReference(
"org.apache.royale.jewel.beads.itemRenderers.DataGridColumnListItemRendererInitializer"
)

where some global code can be run to initialize each renderer.

take into account the following code that is how mappers create the
renderer and run the initializer and set the data in "
DataItemRendererFactoryBase":

/**
* create all item renderers
*
* @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer
* @royaleignorecoercion
org.apache.royale.core.IIndexedItemRendererInitializer
*/
protected function createAllItemRenderers(dataGroup:IItemRendererOwnerView):
void
{
var n:int = dataProviderLength;
for (var i:int = 0; i < n; i++)
{
var ir:IIndexedItemRenderer = itemRendererFactory.createItemRenderer() as
IIndexedItemRenderer;

dataGroup.addItemRenderer(ir, false);
var data:Object = getItemAt(i);
(itemRendererInitializer as
IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir,
data, i);
ir.data = data;
}
}

So the renderer is:

1.- added to the parent (normally the view)
2.- the initializer is setup
3.- the data is set in the renderer.





El lun., 7 sept. 2020 a las 2:31, Hugo Ferreira (<[email protected]>)
escribió:

> How to access the DataGridColumn instance from DataGridItemRenderer
> instance ?
> In Flex we have a column property diretly from the item renderer.
> I already checked the parents that goes to DataGridColumnList and
> then DataGridColumnListArea and finally DataGrid.
>


-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to