【问题标题】:Multiple row select ExtJS多行选择 ExtJS
【发布时间】:2018-03-13 14:36:11
【问题描述】:

我有带有 RowSelectionModel 的网格:

selModel: {
    selType: 'rowmodel',
    mode: 'MULTI'
}

如何在网格中选择多行?现在我只能用me.getViewModel().get('record')选择一条记录:

var me = this;

// Ask user to confirm this action
Ext.Msg.confirm('Confirm Delete', 'Are you sure you want to delete this asset_objects?', function(result) {

    // User confirmed yes
    if (result == 'yes') {

        var record = me.getViewModel().get('record'),
            store = Ext.StoreManager.lookup('asset_objects');

        // Delete record from store
        store.remove(record);

        // Sync remote store
        store.sync();

        // Hide display
        me.showView('selectMessage');

    }

});

我如何将选定的记录绑定到 viewModel:

select: function(rowmodel, record, index, eOpts) {
    // Set selected record
    this.getViewModel().set('record', record);

    // Show details
    this.showView('details');
}

【问题讨论】:

  • me.getViewModel().get('record') 只是从 viewModel 中获取价值。请展示您如何将选定的记录绑定到 viewModel。
  • select: function(rowmodel, record, index, eOpts) { // Set selected record this.getViewModel().set('record', record); // Show details this.showView('details'); }

标签: extjs extjs6


【解决方案1】:

你可以使用Ext.selection.RowModel.getSelection(),像这样

select: function (rowmodel, record, index, eOpts) {
    this.getViewModel().set('record', rowmodel.getSelection());

}

或代替select ( this, record, index, eOpts ) 事件,record最后 选定的记录,您可以使用selectionchange ( this, selected, eOpts ) 事件,其中selected 是所有选定的记录。

请记住,当您选择并取消选择记录时会触发selectionchange 事件,并且值可以是空数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 2020-09-19
    • 2013-06-17
    • 1970-01-01
    相关资源
    最近更新 更多