获取Ext JS 5 Grid中的已检查项目列表总是返回一个空数组?

时间:2015-01-28 18:42:27

标签: javascript extjs treeview checked

以下是视图文件中的相关代码:

Ext.define('MARS.view.listings.SummarySetupView', {
extend: 'Ext.Container',
xtype: 'summarysetupview',

requires: [
    'MARS.view.listings.SummarySetupController'
],

controller: 'summarysetup',

title: "Summary",
items: [
    {
        xtype: 'deliverablesGridPanel'
    },
    {
        xtype: 'button',
        text: 'Submit',
        handler: 'onSubmit'
    }
]
});

以下是控制器文件中的相关代码:

Ext.define('MARS.view.listings.SummarySetupController', {
extend: 'Ext.app.ViewController',
alias: 'controller.summarysetup',

onSubmit: function () {

    console.log(this.getView().refs.gridDeliverables.getChecked());
    // Returns [] - empty array
}
});

这是我的xtype“deliverrablesGridPanel”的定义:

Ext.define('MARS.view.DeliverablesGridPanel', {
extend: 'Ext.tree.TreePanel',
xtype: 'deliverablesGridPanel',

title: 'Deliverables',
reference: 'gridDeliverables',
flex: 1,
autoScroll: true,
rootVisible: false,
bind: {
    store: '{jobTreeStore}'
},
columns: [
    {
        xtype: 'treecolumn',
        dataIndex: 'Name',
        text: 'Name',
        width: 200
    },
    {
        xtype: 'gridcolumn',
        dataIndex: 'Description',
        text: 'Description',
        flex: 1
    }
]
});

它清楚地知道它是一个网格,因为该函数有效,它总是返回空...

1 个答案:

答案 0 :(得分:0)

网格中的复选框选择列通常是选择模型的一部分。我知道从旧的extjs3天你会做类似grid.getSelectionModel()。getSelections()的事情,这将实现你在这里尝试做的事情。