Faça a busca no canvas principal no creationComplete() e popule a variavel:
public var estados: ArrayCollection; Crie o estados tambem no itemEditor. E associe o estados do canvas pro itemEditor no próprio itemEditor: this.estados = parentDocument.estados; Vai ficar meio "fixo", mas deve resolver o seu problema. Eu nunca consegui usar itemEditor, eu uso itemRenderer mesmo...UAhAHu []s Fábio On 2 mar, 11:57, "Beck Novaes" <[EMAIL PROTECTED]> wrote: > Olá Marcelo, > > O problema ocorre porque o serviço será invocado a cada clique na > célula que tem o Combo. Como ele será populado novamente (o resultado > da chamada ao serviço) ele não consegue posicionar no item correto. > > Para resolver o problema você tem que dar um jeito de popular o > dataProvider do seu combo uma única vez e isto não pode ocorrer no > CreationComplete, pois o itemRender é criado e destruído a cada click > na célula. Entendeu? > > []'s > Beck Novaes > > On 1 mar, 16:09, "Marcelo de Francisco"<[EMAIL PROTECTED]> wrote: > > Beck, > > > Esse é o código que estou usando, talvez come ele você possa me ajudar > > > <mx:Canvas creationComplete="roCidades.lista()" > > xmlns:mx="http://www.adobe.com/2006/mxml" > > > > <mx:Script> > > <![CDATA[ > > private function viewUf(item:Object, > > column:DataGridColumn):String{ > > var sUf:String=""; > > > if(column.dataField=="uf") > > { > > if(item!=null) > > { > > if(item.uf!=null) > > { > > sUf=item.uf.nome; > > } > > } > > } > > return sUf; > > } > > ]]> > > </mx:Script> > > > <mx:RemoteObject id="roCidades" destination="Cidade" /> > > > <mx:DataGrid id="gdLista" width="397" height="194" > > horizontalCenter="0" verticalCenter="-1" > > dataProvider="{roCidades.lista.lastResult}" editable="true" > > > > > <mx:columns> > > <mx:DataGridColumn headerText="Nome" > > dataField="nome" width="200"/> > > <mx:DataGridColumn headerText="Estado" > > dataField="uf" > > labelFunction="viewUf" > > editorDataField="cbItem" > > > <mx:itemEditor> > > <mx:Component> > > <mx:VBox > > backgroundColor="yellow" creationComplete="initUf();" > > > <mx:Script> > > <![CDATA[ > > > > import RemoteObject; > > > > public var cbItem:Object; > > > > > [Bindable] > > > > private var roEstado:RemoteObject; > > > > > private function initUf():void > > { > > > > roEstado = new RemoteObject(); > > > > roEstado.destination = "Uf"; > > > > roEstado.lista(); > > } > > ]]> > > </mx:Script> > > > <mx:ComboBox > > id="cbEstado" > > dataProvider="{roEstado.lista.lastResult}" > > > > labelField="nome" change="cbItem=cbEstado.selectedItem" > > > > updateComplete="cbItem=cbEstado.selectedItem" > > > </mx:ComboBox> > > </mx:VBox> > > </mx:Component> > > </mx:itemEditor> > > > </mx:DataGridColumn> > > <mx:DataGridColumn headerText="Cep" > > dataField="cep"/> > > </mx:columns> > > </mx:DataGrid> > > > []s > > Marcelo de Francisco > > > On Feb 28, 9:09 pm, "Beck Novaes" <[EMAIL PROTECTED]> wrote: > > > > Olá Marcelo, > > > > Infelizmente esta informação não ajuda muito, uma vez que no exemplo > > > que eu passei o ComboBox também tem o seu dataProvider. A única > > > diferença é que ele é definido "on the fly" e é implicito. Eu poderia > > > ter declarado a propriedade dataProvider, mas neste caso não é > > > necessário por ser a propriedade default com ComboBox. > > > > Ou seja, isto: > > > > <mx:ComboBox> > > > <mx:String>col1.3.1</mx:String> > > > <mx:String>col1.3.2</mx:String> > > > <mx:String>col1.3.3</mx:String> > > > </mx:ComboBox> > > > > e isto: > > > > <mx:ComboBox> > > > <mx:dataProvider> > > > <mx:String>col1.3.1</mx:String> > > > <mx:String>col1.3.2</mx:String> > > > <mx:String>col1.3.3</mx:String> > > > <mx:dataProvider> > > > </mx:ComboBox> > > > > ... é a mesma coisa. > > > > Para eu poder te ajudar melhor preciso entrar mais no detalhe do seu > > > problema. > > > > []'s > > > Beck Novaes > > > > On 27 fev, 17:26, "Marcelo de Francisco" > > > > <[EMAIL PROTECTED]> wrote: > > > > Beck, > > > > > Não sei se ajuda, mas o componente comboBox é populado com um > > > > dataProvider > > > > > On Feb 27, 9:47 pm, "Beck Novaes" <[EMAIL PROTECTED]> wrote: > > > > > > Olá Marcelo, > > > > > > Eu não consegui simular o seu problema. O exemplo abaixo funciona > > > > > perfeitamente: > > > > > <?xml version="1.0" encoding="utf-8"?> > > > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > > > > > layout="vertical"> > > > > > > <mx:DataGrid editable="true"> > > > > > > <mx:dataProvider> > > > > > <mx:Object col1="col1.1" col2="col1.2" > > > > > col3="col1.3.1"/> > > > > > <mx:Object col1="col2.1" col2="col2.2" > > > > > col3="col1.3.3"/> > > > > > <mx:Object col1="col3.1" col2="col3.2" > > > > > col3="col1.3.1"/> > > > > > <mx:Object col1="col4.1" col2="col4.2" > > > > > col3="col1.3.2"/> > > > > > <mx:Object col1="col5.1" col2="col5.2" > > > > > col3="col1.3.1"/> > > > > > </mx:dataProvider> > > > > > > <mx:columns> > > > > > <mx:DataGridColumn dataField="col1"/> > > > > > <mx:DataGridColumn dataField="col2"/> > > > > > <mx:DataGridColumn dataField="col3"> > > > > > <mx:itemEditor> > > > > > <mx:Component> > > > > > <mx:ComboBox> > > > > > > > > > > <mx:String>col1.3.1</mx:String> > > > > > > > > > > <mx:String>col1.3.2</mx:String> > > > > > > > > > > <mx:String>col1.3.3</mx:String> > > > > > </mx:ComboBox> > > > > > </mx:Component> > > > > > </mx:itemEditor> > > > > > </mx:DataGridColumn> > > > > > </mx:columns> > > > > > > </mx:DataGrid> > > > > > > </mx:Application> > > > > > > Se você puder fornecer mais informações talvez eu possa ajudar melhor. > > > > > > []'s > > > > > Beck Novaes > > > > > > On 27 fev, 15:32, "Marcelo de Francisco" > > > > > > <[EMAIL PROTECTED]> wrote: > > > > > > Oi pessoal, > > > > > > > Estou há algum tempo apanhando de um problema e decidi ver se alguem > > > > > > pode me ajudar, é o seguinte. > > > > > > Tenho um datagrid que na edição de uma de suas colunas é um > > > > > > itemEditor > > > > > > com uma comboBox, essa comboBox tem um dataProvider que é uma lista > > > > > > que vem de um remoteObject, o problema é que toda vez que quero > > > > > > editar > > > > > > essa coluna, nao consigo posicionar o item da comboBox para um item > > > > > > que tenha o mesmo valor da coluna do dataGrid, sempre aparece o > > > > > > primeiro item da lista. Alguem sabe como posso fazer isso? > > > > > > > []s > > > > > > Marcelo de Francisco --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
