extjs 中 异步调入部门信息并根据部门信息生成 checkboxGroup

这个东西折腾了我两天时间,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();
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值