Extjs 4.1 pagingtoolbar默认页面

时间:2013-04-23 13:44:35

标签: javascript extjs extjs4.1

我想在没有记录的情况下将分页工具栏的默认页面更改为1的1而不是0的0 .Plus我没有使用存储代理来请求任何记录,所以有没有办法在不使用存储代理的情况下完成它。根据我的要求,用户可以手动添加行到网格,分页工具栏显示第1页,当行超过10时,它移动到第2页。

1 个答案:

答案 0 :(得分:2)

在Ext中,可以使用您自己的自定义版本重载Ext.toolbar.Paging之类的组件。只需在定义中指定别名,就可以像“本机控件”一样使用它。

为了确保该方法可行,我设置了一个带有简单数据源的测试项目,并实现了足够的替换定义,我可以看到我的“Ext.toolbar.Paging”.getPagingItems方法被触发了自定义定义。

从那时起,您可以替换原始方法定义中的代码,以便除了重载“updateInfo”方法的机会之外还允许自定义最小值,以确保在数据重新加载期间您没有犁过您的定制

除了这两件事之外,您应该(通过相对较少的努力)在控件之上实现,以支持根据网格内容动态更改其值。

如果你查看ux.data.PagingStore的文档,你应该能够在本地提供数据的东西中使用远程提供的商店的差异。

希望这会对你有所帮助。

代码示例:

Ext.define(
    "Test.view.testview.TvPageBar",
    {
        extend: "Ext.toolbar.Paging",
        alias: "widget.tvpagebar",
        title: "Bob",
        strictInit: function () {
            "use strict";
            console.log("TvPageBar init");
        },
        getPagingItems: function () {
            console.log("getPagingItems", this);
            this.callParent(arguments);
        },
        initComponent: function () {
            this.strictInit();
            this.callParent(arguments);
        }
    }
);