这里稍微扩展了一下checkboxgroup,让它能从远程的数据源生成复选框。
但是问题来了,form.getFields没办法找到动态生成的复选框,从构造方法配置生成的就正常。请问是什么问题?    buildCheckBoxes: function() {
        var me = this;
        me.store.each(function(rec){
            var config = {
                xtype: 'checkboxfield',
                name: me.fieldName,
                boxLabel: rec.get(me.displayField),
                inputValue: rec.get(me.valueField)
            };
            me.add(config);
        }, me);
    }

解决方案 »

  1.   

    name: me.fieldName, 应该是名称一样的原因。
    如果你调试一下form.getFields就明白了
      

  2.   

    为什么那么在意form.getFields能不能找到复选框呢?生成一个ExtJs的隐含域
    给动态生成的复选框绑上事件(应该可以用jQuery来操作),有选择操作时,把值附给隐含域,或从隐含域中去除form.getFields找到隐含域不也一样吗
      

  3.   

    直接用Items属性配置不就行了?
      

  4.   

    顺便提示一下将来可能需要这个的人。
    重载掉checkbox的isFormField属性,重载掉checkboxgroup的getModelData和getSubmitData方法,让form直接从checkboxgroup的派生类调用获取数据的方法就ok了。