无法在Ext.grid.PagingToolbar Extjs上绑定存储

时间:2018-09-03 19:39:48

标签: extjs extjs6-modern extjs6.5

我正在使用 6.5.3 版本和 modern 工具包开发extjs项目,但是在尝试使用分页工具栏实现数据视图时遇到问题,我的视图具有viewmodel包含带有rest代理的商店,但是当我观看应用程序时,导航器会抛出下一个错误:

  

[E] Ext.mixin.Bindable.applyBind():无法在以下位置绑定存储   Ext.grid.PagingToolbar-缺少setStore方法。

     

未捕获的错误:无法在Ext.grid.PagingToolbar上绑定存储-丢失   setStore方法。

     

未捕获的TypeError:此[binding._config.names.set]不是函数

这是我的代码:

Ext.define('App.view.qlist', {
    extend: 'Ext.Panel',
    viewModel: 'myViewmodel',
    controller: 'mycontroller',
    items: [{
        xtype: 'dataview',
        cls: 'qcls',
        bind: {
            store: '{allmyquest}'
        },
        itemTpl: questTpl
    }, {
        xtype: 'pagingtoolbar',
        bind: {
            store: '{allmyquest}'
        },
        dock: 'bottom',
        displayInfo: true
    }]
});

在Extjs Modern工具包v6.5.3中实现分页是正确的形式吗?

2 个答案:

答案 0 :(得分:0)

这是文档中的第一件事:

  

用于在网格中分页的工具栏。不要实例化此类   直。使用分页的Ext.grid.plugin.PagingToolbar配置   工具栏网格插件以配置其选项

答案 1 :(得分:0)

documentation提供了执行此操作的示例:

items: [
    Ext.create('Ext.grid.Grid', {
        title: 'DC Personnel',
        store: store,

        plugins: {
            pagingtoolbar: true
        },

        columns: [
            { text: 'First Name', dataIndex: 'fname',  flex: 1 },
            { text: 'Last Name',  dataIndex: 'lname',  flex: 1 },
            { text: 'Talent',     dataIndex: 'talent', flex: 1 }
        ]
    })
]

这是网格的默认工具栏;因此,只需使用true启用插件即可。