您的位置:首页 > 其它

Ext填充form中的combobox

2011-05-06 23:46 453 查看
利用jsonReader来填充form时遇到动态加载的二级combobox不知如何填充的问题。

弄了很久也没找到好的处理方法,只能在form加载时对combo进行赋值了,下面是代码片断。

这里combo的hiddenName值是通过reader去充填的,combo的displayValue是在form加载时填充的。

下面的jobChange.departmentByJcOldDept.deptId等就是hiddenName的id,当然也可以在form加载成功后用setValue()取设其value,最后combo的store中记得加入autoLoad: true.

Ext.getCmp('jobChangeaAdd').getForm().load({
url: 'jobChange_edit.action',
params: {
jcId: jcId
},
success: function(form, action){
var obj = Ext.util.JSON.decode(action.response.responseText);
Ext.getCmp("oldJob").setRawValue(obj[0].jobByJcOldJob.jobName);
Ext.getCmp("oldDept").setRawValue(obj[0].departmentByJcOldDept.deptName);
Ext.getCmp("newDept").setRawValue(obj[0].departmentByJcNewDept.deptName);
Ext.getCmp("newJob").setRawValue(obj[0].jobByJcNewJob.jobName);
}
})


var reader = new Ext.data.JsonReader({},[{
name: 'jobChange.jcId', mapping: 'jcId'
},{
name: 'jobChange.employee.empId', mapping: 'employee.empId'
},{
name: 'jobChange.employee.empName', mapping: 'employee.empName'
},{
name: 'jobChange.jcReason', mapping: 'jcReason'
},{
name: 'jobChange.jcRemark', mapping: 'jcRemark'
},{
name: 'jobChange.departmentByJcOldDept.deptId', mapping: 'departmentByJcOldDept.deptId'
},{
name: 'jobChange.jobByJcOldJob.jobId', mapping: 'jobByJcOldJob.jobId'
},{
name: 'jobChange.departmentByJcNewDept.deptId', mapping: 'departmentByJcNewDept.deptId'
},{
name: 'jobChange.jobByJcNewJob.jobId', mapping: 'jobByJcNewJob.jobId'
}]);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: