sencha modern kitchen examples example extjs grid extjs4 paging store

modern - ExtJS 4: cómo desactivar los iconos ''siguiente'' y ''último'' en la barra de herramientas de paginación cuando no hay registros presentes en la cuadrícula?



sencha examples 6 (2)

Una posible solución podría estar usando

store.loadPage(1);

en lugar de store.load(); .

La segunda solución posible es hacer que la barra de herramientas se deshabilite inicialmente y habilitarla cuando se carguen los datos:

var grid = Ext.create(''Ext.grid.Panel'', { // ... store: store, dockedItems: [{ xtype: ''pagingtoolbar'', store: store, dock: ''bottom'', disabled: true }] }); store.on(''load'', function(){ grid.down(''pagingtoolbar'').enable(); });

Tengo una cuadrícula con la barra de herramientas de paginación en la parte inferior y un botón ''Cargar'' en la parte superior que se puede usar para cargar registros en la cuadrícula.

Por lo tanto, inicialmente no hay valores presentes en la cuadrícula, pero en tal condición también la barra de herramientas de paginación muestra la página 1 de 1, y también los iconos para ir a la página "siguiente" o "último" están habilitados.

Debido a esto, cuando el usuario hace clic en cualquiera de estos íconos, aunque los registros no están cargados, pero internamente los valores de ''página'' y ''inicio'' están configurados como NaN y, si el usuario hace clic en el botón ''Cargar'', estos valores NaN pasar al servidor que no es lo que se espera.

Es decir, idealmente, debería pasar page = 0 & start = 0 donde pasa la página = NaN & start = NaN. El servidor no reconoce estos valores y arroja un error.

Una solución rápida para esto es la modificación del código en el lado del servidor, pero actualmente eso está más allá del alcance de nuestro trabajo en equipo y, por lo tanto, me preguntaba cómo se podría lograr el siguiente:

P) ¿Cómo se desactivan los íconos "siguiente", "último" en la barra de herramientas de paginación cuando la cuadrícula no tiene registros?

O,

P) ¿Cómo modificar los valores de las variables ''page'' y ''start'' antes de cargar la tienda para que podamos pasar 0 en lugar de NaN?

Intenté acceder a estos parámetros en el evento de carga previa del almacén de grillas, pero allí pude encontrar las propiedades como - startParam o pageParam - mostrando el nombre del parámetro, pero no pude encontrar ningún método para acceder / modificar los valores allí.

¿Alguien tiene una idea sobre esto?

Gracias por adelantado.

PD: la versión ExtJS utilizada es 4.


compruebe el recuento total en respuesta, si no devuelve cero cuando la cuadrícula está vacía, se producirán dichos errores.