No segundo você não tem nescessidade de agrupar os dados? Em 14 de junho de 2011 16:06, Principe borodin <[email protected]>escreveu:
> preciso pegar os dados de um advanced datagrid, sendo q o primeiro > esta recebendo dados e esta agrupand, porem o segundo nao mostra os > itens se nao agrupa-los..so q o seu dataprovider nao esta sendo > preenchido, como fazer agora? o codigo segue abaixo > > <?xml version="1.0" encoding="utf-8"?> > <ns:MDIWindow xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:s="library://ns.adobe.com/flex/spark" > xmlns:mx="library://ns.adobe.com/flex/mx" > xmlns:ns="http://code.google.com/p/flexlib/" > width="694" height="420" fontWeight="normal" > layout="absolute" > showControls="false" > > creationComplete="init()"> > <fx:Declarations> > <s:RemoteObject id="tp" destination="zendamf" > source="TipoPeca"> > <s:method name="getPecaServico" > fault="fault(event)" > showBusyCursor="true" result="result(event)"/> > </s:RemoteObject> > </fx:Declarations> > <fx:Script> > <![CDATA[ > import mx.collections.ArrayCollection; > import mx.collections.Grouping; > import mx.collections.GroupingCollection2; > import mx.collections.GroupingField; > import mx.controls.Alert; > import mx.events.DragEvent; > import mx.managers.DragManager; > import mx.rpc.events.FaultEvent; > import mx.rpc.events.ResultEvent; > > import vo.TipoPecasVO; > > [Bindable] > private var dpdgservicos:ArrayCollection ; > > [Bindable] > private var coluns:ArrayCollection=new > ArrayCollection; > [Bindable] > private var detalhes:ArrayCollection = new > ArrayCollection(); > private function init():void > { > tp.getPecaServico(); > } > > private function fault(f:FaultEvent):void > { > Alert.show(f.fault.toString()); > } > > > > private function result(r:ResultEvent):void > { > > servicos.dataProvider = r.result; > var gcl:GroupingCollection2 = new > GroupingCollection2; > gcl.source = servicos.dataProvider; > var gr:Grouping = new Grouping; > var gfs:GroupingField = new > GroupingField('tiposervico'); > gr.fields = [gfs]; > gcl.grouping = gr; > gcl.refresh(); > servicos.dataProvider = gcl; > > > var gcl2:GroupingCollection2 = new > GroupingCollection2; > gcl2.source = detalhes; > var gr2:Grouping = new Grouping; > var gfs2:GroupingField = new > GroupingField('tiposervico'); > gr2.fields = [gfs2]; > gcl2.grouping = gr2; > gcl2.refresh(); > descricao.dataProvider = gcl2; > > } > > private function salva():void{ > //Alert.show(coluns.length.toString()); > var iten:String = ""; > for(var i:int=0;i<coluns.length;i++) > { > iten+=coluns[i].idTipoPecas+" > "+coluns[i].peca+" > "+coluns[i].descricao+"\n"; > } > Alert.show(iten); > > > } > private function completa(e:DragEvent):void{ > // Alert.show(e.toString()); > // Alert.show(servicos.selectedItem.idTipoPecas); > //coluns.addItem(servicos.selectedItem); > coluns.addItem(descricao.selectedItem); > } > > public function removePecaLista(o:Object):void > { > > > descricao.dataProvider.removeChild(descricao.dataProvider.getParentItem(descricao.selectedItem),descricao.selectedItem); > } > ]]> > </fx:Script> > <s:Image x="33" y="10" source="assets/img/elaborabriefing.png"/> > <s:Label x="65" y="18" color="#4C493B" fontSize="15" > fontWeight="bold" text="ELABORANDO BRIEFING"/> > <s:ComboBox id="listCliente" x="33" y="95"/> > <s:ComboBox id="departamento" x="236" y="95"/> > <mx:AdvancedDataGrid id="servicos" dragEnabled="true" x="33" > y="141" width="146" designViewDataType="tree"> > > <mx:columns> > <mx:AdvancedDataGridColumn dataField="peca" > headerText="SERVIÇOS"/> > </mx:columns> > </mx:AdvancedDataGrid> > > > <mx:AdvancedDataGrid dragEnter="completa(event)" dropEnabled="true" > editable="true" id="descricao" x="235" y="141" > designViewDataType="tree"> > <mx:columns> > <mx:AdvancedDataGridColumn dataField="peca" > editable="false" > headerText="PEÇA"/> > <mx:AdvancedDataGridColumn dataField="quantidade" > editable="true" > itemEditor="mx.controls.NumericStepper" editorDataField="value" > headerText="QUANTIDADE" /> > <mx:AdvancedDataGridColumn editorUsesEnterKey="true" > editorHeightOffset="50" dataField="espeficicacao" editable="true" > itemEditor="mx.controls.TextArea" editorDataField="text" > headerText="ESPECIFICAÇÃO"/> > <mx:AdvancedDataGridColumn headerText="OPÇÃO" > editable="false"> > <mx:itemRenderer> > <fx:Component> > <mx:HBox> > <fx:Script> > <![CDATA[ > > [Bindable] > > [Embed(source="assets/img/remover.png")] > > private var removerIcon:Class; > > import vo.TipoPecasVO; > ]]> > </fx:Script> > <mx:Button > icon="{removerIcon}" styleName="barraOpces" > click="outerDocument.removePecaLista(data)" toolTip="Remover peça da > lista" width="100%" /> > </mx:HBox> > </fx:Component> > </mx:itemRenderer> > </mx:AdvancedDataGridColumn> > > > </mx:columns> > </mx:AdvancedDataGrid> > <s:Button x="505" y="350" label="CANCELAR" click="this.close();" > styleName="clickForm"/> > <s:Button x="590" y="350" label="CRIAR" click="salva()" > styleName="clickForm"/> > <s:RadioButtonGroup id="radiogroup1"/> > <s:HGroup x="443" y="96"> > <s:RadioButton label="CAMPANHA" groupName="radiogroup1"/> > <s:RadioButton label="JOB's" groupName="radiogroup1"/> > </s:HGroup> > </ns:MDIWindow> > > -- > 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 -- 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
