Я хочу изменить страницу панели инструментов разбивки на страницы по умолчанию на 1 из 1 вместо 0 из 0 в случае отсутствия записи. Кроме того, я не использую прокси-сервер хранилища для запроса каких-либо записей, поэтому есть ли способ сделать это без использования прокси-сервера хранилища. В соответствии с моим требованием пользователь может вручную добавлять строки в сетку с панелью инструментов разбиения на страницы, показывающей страницу 1, а когда строк превышает 10, она перемещается на вторую страницу.
Страница 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);
}
}
);