1

我是 ExtJS4 的新手。我在我们的项目中使用分页工具栏。我正在使用清除网格

grid.getStore().removeAll()

现在问题在于分页工具栏。如果我们单击按钮,那么它正在检索商店。我的疑问是如何清除分页工具栏中的商店?

请帮我。

谢谢你,
库沙尔

4

3 回答 3

1

我只是花了几个小时研究这个东西,想分享一下,以防有人还在寻找它。看起来 Ext.toolbar.Paging 没有监听在 removeAll() 方法上触发的 store 的 clear 事件。我的解决方案是对其进行子类化并覆盖 getStoreListeners 以将 onLoad 内部函数绑定到 clear 事件。顺便说一句,我正在使用 ExtJS 4.1。

Ext.define('MyApp.ClearablePagingToolbar', {
    extend: 'Ext.toolbar.Paging',
    alias: 'widget.clearablepagingtoolbar',
    getStoreListeners: function () {
        var listeners = this.callParent();

        Ext.apply(listeners, {
            clear: this.onLoad
        });

        return listeners;
    }
});

您可以通过在网格中引用 clearablepagingtoolbar 来使用它,如下所示:

dockedItems: [{
    xtype: 'clearablepagingtoolbar',
    dock: 'bottom',
    displayInfo: true,
    store: this.getSearchResultStore()
}]
于 2013-03-26T19:01:13.463 回答
0

首先,您是否为网格和工具栏配置了相同的存储?如果是,您应该尝试清除商店本身,而不是使用 grid.getStore() (例如 myStore.removeAll() )

于 2012-05-04T08:03:25.807 回答
0

如果您的网格和分页工具栏使用相同的商店,您的分页工具栏将正常工作。如果你使用单独的存储(这是不好的编码风格),你需要调用这个分页面板的​​存储同步方法来同步数据。

于 2012-05-04T20:05:14.883 回答