在一个form中引用了下面的 alldatamodule ,保存的时候不知道怎么取到checkbox中的值,试了好多都没有取到值,希望大神给步骤额
Ext.define("Biz.view.dblucene.alldatamodule.Container", {
    extend: 'Ext.container.Container',
    xtype: 'alldatamodule',
    requires: ['Ext.ux.layout.ResponsiveColumn'],
    controller: 'dashboard',
    viewModel: {
        type: 'dashboard'
    },
    layout: 'responsivecolumn',
    items: [{
        xtype: 'biz_tree', height: 400, title: '数据模型', rootVisible: true, root: {
            "id": "11111111-1111-1111-1111-111111111111", text: '组织目录', expanded: true
        }, store: Ext.create('Ext.data.TreeStore', {
            proxy: {
                extraParams: {"access": 1, "sort": "sort"},
                type: 'ajax',
                url: Ext.location + '/resource/datatableinfo/treeload'
            }
        }), listeners: {
            itemclick: function (dataView, node) {
                var grid = this.nextSibling();
                grid.getStore().removeAll();
                if (node.data.catalogId) {
                    Ext.apply(grid.getStore().getProxy(), {extraParams: {"parentid": node.id}});
                    grid.getStore().load();
                }
            }
        }
    }, {
        xtype: 'alltablegrid', height: 400, width: '70%', title: '字段列表'
    }]
});
Ext.define("Biz.view.dblucene.alldatamodule.TableGrid", {
    extend: "Biz.grid.Panel",
    xtype: 'alltablegrid',
    store: Ext.data.BizStore('/resource/datatableinfo/griddatafield'),
    scroll: true,
    defaults: {
        xtype: 'checkbox',
        id: 'hobby',
        typeAhead: true,
        triggerAction: 'all',
        selectOnFocus: true,
        labelAlign: 'right',
        width: '96%'
    },
    listeners: {
        afterrender: function () {
            this.getStore().setGroupField('tableName');
        }, cellclick: function (e, g, h, d) {
            var addToolbar = this.dockedItems.items[2].items.items[0];
            addToolbar.setDisabled(false);
            addToolbar.tableData = d.data;
            // var tableId = d.data.tableId;
            // var field = d.data.code;
            // var form = Ext.create("Biz.view.system.service.ServiceSourceForm");
            // form.getForm().findField('tableId').setValue(tableId);
            // form.getForm().findField('field').setValue(field);
        }
    },
    columns: [{
        text: "字段名称", dataIndex: 'name', flex: 0.25
    }, {
        text: "编码", dataIndex: 'code', width: 160
    }, {
        text: "字段类型", dataIndex: 'type', width: 100
    }, {
        text: "默认标识", dataIndex: 'defaultFlag', width: 80, renderer: function (value) {
            return {0: '否', 1: '是'}[value];
        }
    }, {
        text: "时间", dataIndex: 'createTime', width: 150, renderer: function (value) {
            return Ext.Date.format(new Date(value), "Y-m-d H:i:s");
        }
    }]
});

解决方案 »

  1.   

    思路:
      form触发的方法中。例如
     
    save(){
      var me =this;
     // 下面的 up()可以 用多次,直到找到你的form
      var myform=me.up().up()..up('[itemId="你的form取得 值 myFormId"]'); // itemId 是给你的form自定义的一个属性 如: itemId: myFormId
    // 上面myForm 找到你的form, 
    myform.down('[id="hobby"]') ;// 获得checkbox 控件
    };