这个东西折腾了我两天时间,GOOGLE和BAIDU都没有,问的人也不少,今天放出来 与大家分享一下, 放在这里以备查询
/**
* 调入所有本单位员工,为建立部门选择组作准备
*/
var empstore = new Ext.data.ArrayStore( {
url : 'flowAudit/listEmpByDepID',
fields : [ 'depid','id', 'name','checked' ],
sortInfo : {
field : 'id',
direction : 'ASC'
},
autoLoad:true
});
/**
* 在frm内建立部门及人员复选组
* @param frm
* @return
*/
function createDepCheckboxGroup(frm){
function genDetails(depid,depname){
items= [{id:'d-'+depid,boxLabel: '<b>'+depname+'</b>', checked: false}];
empstore.each(function(record){
var thedepid=record.get('depid');
if(depid==thedepid){
var theid= record.get('id');
var thename=record.get('name');
var thechked=record.get('checked');
items.push({id:'p-'+theid,boxLabel:''+thename,checked:thechked});
}
})
return items;
}
var store = new Ext.data.ArrayStore( {
url : 'department/comboxJson',
fields : [ 'id', 'name' ],
sortInfo : {
field : 'id',
direction : 'ASC'
}
});
store.on('load',function(){
Ext.getCmp(frm).removeAll();
store.each(function(record) {
var thedepid=record.get('id');
var thedepname=record.get('name');
var CBG = new Ext.form.CheckboxGroup({
id:'depchkg'+thedepid,
fieldLabel: thedepname,
xtype: 'checkboxgroup',
itemCls: 'x-check-group-alt',
columns: 4,
items:genDetails(thedepid,thedepname)
});
Ext.getCmp(frm).items.add(CBG);
Ext.getCmp(frm).doLayout(true);
});
});
store.load();
};