我想在没有记录的情况下将分页工具栏的默认页面更改为1的1页面,而不是0的0。此外,我没有使用存储代理来请求任何记录,因此有什么方法可以不使用存储代理来完成它。根据我的要求,用户可以使用显示页面1的分页工具栏手动向网格中添加行,并且当行数超过10时它将移至第二页。
最佳答案
在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);
}
}
);