Esse ListItemRenderer n da liga pq usa o ListData em vez do AdvancedDataGridListData como diz no seu erro, tenta usar:
http://help.adobe.com/pt_BR/FlashPlatform/reference/actionscript/3/mx/controls/advancedDataGridClasses/MXAdvancedDataGridItemRenderer.html Ou usa um Canvas por exemplo como renderer e implementa o IDropInListItemRenderer se precisar pegar mais coisas. Vi um componente meu antigo aqui que fiz assim, (faz tempo era dum projeto do flex 2, entao pode ter mudado alguma coisa): <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" implements="mx.controls.listClasses.IDropInListItemRenderer"> <mx:Script> <![CDATA[ import mx.events.CollectionEvent; import mx.collections.HierarchicalCollectionView; import mx.collections.HierarchicalData; import mx.collections.ArrayCollection; import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn; import mx.controls.advancedDataGridClasses.AdvancedDataGridListData; import mx.controls.AdvancedDataGrid; import mx.controls.listClasses.BaseListData; import mx.controls.listClasses.IDropInListItemRenderer; private var _advDataGrid:AdvancedDataGrid; private var _advDataGridColumn:AdvancedDataGridColumn; private var _dataProvider:ArrayCollection; private var _dataField:String; private var _listData:BaseListData; [Bindable("dataChange")] public function get listData():BaseListData { return _listData; } public function set listData(value:BaseListData):void { if(value != null) { _listData = value; _advDataGrid = _listData.owner as AdvancedDataGrid; if(_advDataGrid.dataProvider is ArrayCollection) { _dataProvider = _advDataGrid.dataProvider as ArrayCollection; } else if(_advDataGrid.dataProvider is HierarchicalCollectionView) { _dataProvider = _advDataGrid.dataProvider.source.source; } _dataField = (value as AdvancedDataGridListData).dataField; } } override public function set data(value:Object):void { super.data = value; if (_listData != null && cb != null) { cb.visible = value[_dataField] == null ? false : true; cb.selected = value[_dataField]; } } private function onChange():void { if (_listData != null) { data[_dataField] = cb.selected; _dataProvider.dispatchEvent(new CollectionEvent(CollectionEvent.COLLECTION_CHANGE)); } } ]]> </mx:Script> <mx:CheckBox id="cb" horizontalCenter="0" change="onChange()" /> </mx:Canvas> On Jul 27, 5:50 pm, Mateus Paegle <[email protected]> wrote: > Boa tarde pessoal! > > Estou tentando fazer um ItemRender em uma coluna do AdvancedDataGrid, mas > esta me dando erro... > > tenho o seguinte codigo do ADG: > <mx:AdvancedDataGrid id="adg1" width="100%" height="100%" > designViewDataType="tree"> > <mx:dataProvider> > <mx:GroupingCollection2 id="gc" source="{dpFlat}"> > <mx:grouping> > <mx:Grouping> > <mx:GroupingField name="CVIAGEM"/> > </mx:Grouping> > </mx:grouping> > </mx:GroupingCollection2> > </mx:dataProvider> > <mx:columns> > <mx:AdvancedDataGridColumn dataField="CDESCDESP" > headerText="Tipo de Despesa"/> > <mx:AdvancedDataGridColumn width="180" dataField="CDATA" > headerText="Data"/> > <mx:AdvancedDataGridColumn width="180" dataField="CQTD" > headerText="Quantidade" formatter="{Moeda}"/> > <mx:AdvancedDataGridColumn width="180" > dataField="CVALTOT" headerText="Valor Total" formatter="{Moeda}"/> > <mx:AdvancedDataGridColumn width="180" > dataField="CVALRBN" headerText="Val Não Reem" formatter="{Moeda}"/> > <mx:AdvancedDataGridColumn width="180" > dataField="CVALRBS" headerText="Val Reembols" formatter="{Moeda}"/> > <mx:AdvancedDataGridColumn width="30" > dataField="CSTATUS" headerText=" "/> > </mx:columns> > <mx:rendererProviders> > <mx:AdvancedDataGridRendererProvider dataField="CSTATUS" > columnIndex="6" depth="2" renderer="assets.componentes.Legenda"/> > </mx:rendererProviders> > </mx:AdvancedDataGrid> > > e o meu componente Legenda: > <?xml version="1.0" encoding="utf-8"?> > <mx:ListItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:s="library://ns.adobe.com/flex/spark" > xmlns:mx="library://ns.adobe.com/flex/mx"> > <fx:Declarations> > <!-- Place non-visual elements (e.g., services, value objects) here > --> > </fx:Declarations> > </mx:ListItemRenderer> > > ele me retorna o erro: > TypeError: Error #1034: Falha de coerção de tipo: não é possível converter > mx.controls.advancedDataGridClasses::AdvancedDataGridListData@5fd21c1 em > mx.controls.listClasses.ListData. > > Alguem já passou por isso e consiga me ajudar!? > > Att., > Mateus M. Paegle -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
