【问题标题】:Extjs 4.1 pagingtoolbar default pageExtjs 4.1 分页工具栏默认页面
【发布时间】:2013-05-01 09:24:31
【问题描述】:

如果没有记录,我想将分页工具栏的默认页面更改为 1 of 1 而不是 0 of 0 .根据我的要求,用户可以使用显示第 1 页的分页工具栏手动将行添加到网格中,当行数超过 10 时,它会移动到第 2 页。

【问题讨论】:

  • 请将其拆分为两个不同的问题。一个是关于分页显示的,一个是关于在添加行时移动到另一页的要求。像这样将它们集中在一起,感觉就像:“这是我的要求,为我解决。”
  • 你应该为你正在做的事情提供示例代码。

标签: javascript extjs extjs4.1


【解决方案1】:

在 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);
        }
    }
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-04
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多