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 -~----------~----~----~----~------~----~------~--~---
