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

Responder a