Oi, numa aplicação que estou a desenvolver deparei-me com uma situação
que não consigo resolver.

tenho uma datagrid cujo dataprovider é uma arraylist de ProfileModules

package flexVO
{
    [Bindable]
        [RemoteClass(alias="domain.ProfileModule")]
        public class ProfileModule
        {
        public var id:int;
        public var created:Boolean=true;
        public var profileId:int;
        public var module:Module;

        public function ProfileModule()
            {
            }
    }
}

O dataProvider da combobox para a coluna module é uma arraylist de
Modules
package flexVO
{
    [Bindable]
        [RemoteClass(alias="domain.Module")]
        public class Module
        {
        public var id:int;
        public var name:String='';
        public var code:String='';
        public var created:Boolean=true;

        public function Module()
            {
            }
    }
}

O problema é que quando seleciono algo modulo na combo, não consigo
afectar a propriedade module do profileModule do registo datagrid.

será que alguem me pode ajudar.


codigo comboboxitemrenderer
<?xml version="1.0" encoding="utf-8"?>
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml";

                         fontWeight="normal">
        <mx:Script>
                <![CDATA[
                        import mx.controls.DataGrid;
                        public var valueField:int;
                        private var columnDataField:String;
                        private var dtGrid:DataGrid;
                        private var obj:Object;

                        override public function set data(value:Object):void
                        {
                                dtGrid=listData.owner as DataGrid;
                                
columnDataField=dtGrid.columns[listData.columnIndex].dataField;

                                //super.data=value['module'];
                                //      obj=value[columnDataField];
                                if (value != null && 
value.hasOwnProperty(columnDataField) !=
false)
                                {
                                        var len:int=this.dataProvider.length;
                                        for (var i:int=0; i < len; i++)
                                        {
                                                if (value[columnDataField] != 
null)
                                                        if 
(this.dataProvider[i].id == value[columnDataField].id)
                                                        {
                                                                
this.selectedIndex=i;
                                                                
value[columnDataField]=this.dataProvider[i];
                                                                //data=value;
                                                                break;
                                                        }
                                        }
                                }
                        }
                ]]>
        </mx:Script>

</mx:ComboBox>
ja experimentei colocar evento Change, sempre dá erro ou propriedade
data não existe, ou q não pode converter a label da combo em Module.
Sei lá o que já tentei.


linha da datagridcolumn
<mx:DataGridColumn headerText="{uiLanguage('Module')}"
dataField="module"
labelFunction="dgModule_labelFunction" editorDataField="value">

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a