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