Pessoal, Tenho o seguinte esquema de compomentes.
1 Panel, quem tem alguns botões e um viewstack 1 Canvas que tem um DataGrid e uns botões. 1 Canvas que tem um Form. Os dois canvas citados acima estão dentro da viewstack do Panel. Basicamente uma tela de cadastro simples. segue abaixo o trecho da Panel <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml " creationComplete="{init()}"> <mx:VBox width="100%" height="100%" horizontalScrollPolicy="off"> <mx:Canvas width="100%" horizontalScrollPolicy="off"> <ns2:ButtonBar clickNovo="novo(this);" clickFechar="fechar(this);" clickConsultar="consultar();" clickSalvar="salvar(this);" clickAlterar="alterar(this);" top="0" left="0" right="0"> </ns2:ButtonBar> </mx:Canvas> <mx:Canvas width="100%" height="100%" horizontalScrollPolicy="off"> <ns1:stackCliente id="stack" left="5" right="5" bottom="5" top="0"> </ns1:stackCliente> </mx:Canvas> </mx:VBox> <mx:Script source="arquivoFrm.as"/> </mx:Panel> O panel (referente ao mxml acima) tem o arquivo "arquivoFrm.as" acima onde tem os métodos referenciados no mxml. No creationComplete chamo o metodo "init()". Segue abaixo public function init():void { var col1 : DataGridColumn = new DataGridColumn(); col1.dataField = "codigo"; col1.headerText = "Código"; col1.width = 100; var col2 : DataGridColumn = new DataGridColumn(); col2.dataField = "nome"; col2.headerText = "Nome"; col2.width = 300; var columns:Array = new Array(col1, col2); var formGrid : FormGrid = stack.fGrid; //Esse é o canvas que tem o datagrid que ta na viewstack //formGrid.initGrid(dgProvider, columns); // comentado formGrid.dg.dataProvider = dgProvider; formGrid.dg.columns = columns; } Tenho uma chamada a um metodo remoto que retorna uma lista para ser apresentada no dataGrid, mas não está apresentando. As colunas são criadas corretamente, mas os dados não são exibidos. E está retornando corretamente o ArrayCollection com as informações. Tentei ate criar o método "initGrid" como pode ser visto acima em comentário, mas não ajudou em nada... Abaixo segue o mxml do canvas que contem o datagrid <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" xmlns:ns1="gui.templates.*" horizontalScrollPolicy="off"> <mx:VBox width="100%" height="100%" horizontalScrollPolicy="off"> <mx:DataGrid x="0" y="0" width="100%" height="100%" id="dg" horizontalScrollPolicy="off"> </mx:DataGrid> <mx:ControlBar width="100%" x="0" y="700" horizontalAlign="center" height="36" horizontalScrollPolicy="off"> <mx:Button label="Primeira" labelPlacement="right" height="20"/> <mx:Button label="Anterior" height="20" labelPlacement="right"/> <mx:Button label="Próxima" height="20" labelPlacement="left"/> <mx:Button label="Última" height="20" labelPlacement="left" /> </mx:ControlBar> </mx:VBox> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.Alert; [Bindable] public var dgProvider : ArrayCollection; public function initGrid(dataProvider:ArrayCollection, columns:Array) : void { dgProvider = dataProvider; dg.columns = columns; } ]]> </mx:Script> </mx:Canvas> OBS: O metodo initGrid não esta sendo usado (esta comentado a chamada dele) quando eu usei esse método eu defini a propriedade dataProvider do datagrid para o "dgProvider" Alguém sabe como eu posso ter o dataProvider e as coluna setados dinamicamente? Agradeço a atenção de todos -- []'s Leonardo Linux User #488650 Ubuntu User #27045 Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece -- 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 To unsubscribe from this group, send email to flexdev+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
