页面部分代码如下
<g:DataGridColumn id="dataGridColumn_wmcrFeeId" headerText="费用名称*" dataField="wmcrFeeId" width="100" comboMapping="SYS_FEE">
<g:itemEditor>
<mx:Component>
<f:ComboBox editable="true" keyField="ebfhId" labelField="ebfhNameCn">
<mx:Script>
<![CDATA[
override public function set data(value:Object):void {
super.data = value;
if (null != this.outerDocument.action.ebfhs) {
this.dataProvider = this.outerDocument.action.ebfhs;
}
}
]]>
</mx:Script>
</f:ComboBox>
</mx:Component>
</g:itemEditor>
</g:DataGridColumn>
相对应的Flex的部分action如下:
/**
* 页面打开时的调用方法
*/
override public function doOpenTabCallback(param:Object):Boolean{
wmContractFrtDetailWindow=new WmContractFrtDetailWindow();
//直接打开页面
if(null==param){
FDS.call("wmWmchEbcuManager","addNewWmContractEntity",[],this.afterAdd);
}else{
//列表页面新增打开
if(param[Constants.STATE]==Constants.SAVE_TYPE_ADD){
FDS.call("wmWmchEbcuManager","addNewWmContractEntity",[],this.afterAdd);
}
//列表页面编辑打开
if(param[Constants.STATE]==Constants.STATE_EDIT){
var id:Object=param[Constants.ROW];
FDS.call("wmWmchEbcuManager","editWmWarehouseContractEntity",[id],this.afterEditor);
}
//列表页面复制打开
if(param[Constants.STATE]==Constants.STATE_DUPLICATE){
var id2:Object=param[Constants.ROW];
FDS.call("wmWmchEbcuManager","copyWmWarehouseContractEntity",[id2],this.afterCopy);
}
}
FDS.call("ebFeeHeadManager","getAll",[],afterGetAll);
return true;
}
/**
* 获取所有费用名称之后的操作
*/
private function afterGetAll(result:ResultEvent):void{
this.ebfhs.removeAll();
var orgId:String = UserDetails.getLoginUser().orgId;
for each(var model:EbFeeHeadModel in result.result){
if(model.ebfhEscoId == orgId)
this.ebfhs.addItem(model);
}
}
这样配合即可过滤下拉框公司
本文介绍了一个Flex页面中如何实现下拉框的数据加载功能。通过覆盖ComboBox组件的setData方法,结合页面Action中调用后台接口获取数据,并将数据填充到ComboBox组件的数据提供者中。实现了费用名称下拉框的动态数据加载。
188

被折叠的 条评论
为什么被折叠?



