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

Responder a