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