Искам да променя страницата по подразбиране на лентата с инструменти за страниране на 1 от 1 вместо 0 от 0 в случай на липса на запис. Освен това не използвам прокси на магазина, за да поискам записи, така че има ли някакъв начин да го направя, без да използвам прокси на магазина. Според моето изискване потребителят може да добавя редове ръчно към мрежата с лентата с инструменти за страниране, показваща страница 1 и когато редовете надхвърлят 10, се премества на 2-ра страница.
Страница по подразбиране на Extjs 4.1 pagingtoolbar
Отговори (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);
}
}
);