sei que esse tema de itemRenderer e itemEditor é bem batido aqui, mas não
achei uma solução para esse problema específico.! vamos lá.
tenho um objeto que tem uma propriedade arrayCollection onde uma das
propriedades tb é um objeto.
EXEMPLO
objeto participante
propriedade nome - string
propriedade end - string
propriedade grupo - array<objetoGrupo>
ou seja, um participante pode estar em mais de um grupo.
criei um datagrid nessa tela do participante para mostrar ao usuario quais
os grupos que esse participante está contido.
Existe a possibilidade de um grupo ser excluido nesse participante e/ou um
outro grupo ser incluído para esse participante.(esse controle está
funcionando OK)
então já montei e desmontei meu código diversas vezes.
No momento acontece o seguinte:
aparece os comboBox [object GrupoAs] MAS QUANDO CLICO em cima do combo
aparece respectivamente o grupo selecionado, se escolho outro grupo retorna
[object GrupoAs] porém meu objeto participante (que é o principal) é afetado
corretamente e é gravado no Banco corretamente.(funcionando OK).
já fiz até o labelFunction , mas não adiantou. !!!
meu código:
<mx:DataGrid x="2" y="0" height="125" width="250"
dataProvider="{participanteAs.participanteGrupo}"
id="dtgrdGrupo" editable="true" >
<mx:columns>
<mx:DataGridColumn headerText="Grupo" dataField="grupo"
editorDataField="selectedItem" >
<mx:itemEditor>
<mx:Component>
<mx:ComboBox
dataProvider="{outerDocument.listaDeGrupos}" labelFunction="onLabelFunction"
labelField="descricao"
change="onSelectionChange(event)">
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
import
mx.controls.dataGridClasses.DataGridListData;
import mx.collections.ArrayCollection;
private function
onLabelFunction(item:Object):String {
var retorno:String = item.descricao;
return retorno;
}
private function
onSelectionChange(e:ListEvent):void {
//grupo
if(selectedItem){
var col:DataGridListData =
DataGridListData(listData);
var linha:int = col.rowIndex;
}
}
override public function set
data(value:Object):void {
//grupo
if(value){
var col:DataGridListData =
DataGridListData(listData);
var item:String = value.grupo.id_grupo;
for ( var cont:int = 0; cont <
outerDocument.listaDeGrupos.length; cont++ ) {
if
(outerDocument.listaDeGrupos[cont].id_grupo == item) {
selectedItem =
outerDocument.listaDeGrupos[cont];
selectedIndex = cont;
break;
}
}
}
}
]]>
</mx:Script>
</mx:ComboBox>
</mx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
agradeço a atenção de todos.
bruno bg
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---