2011-07-25 28 views
7

Estoy trabajando en una cuadrícula que usa filtros, pero solo filtra la primera página. Cuando hago clic en 'siguiente', se olvida de mis filtros y carga el siguiente conjunto de registros. ¿Cómo puedo hacer que recuerde el filtro incluso si hago clic en "siguiente" para cargar el siguiente conjunto de registros de la búsqueda?La cuadrícula de paginación ExtJS filtra solo la primera página

Gracias, SS

Respuesta

6

Es necesario que ajuste los parámetros del filtro en la tienda de baseParams. Pasar los parámetros de filtro en la llamada load en la tienda solo los usará para la primera llamada a carga — las llamadas posteriores realizadas por la barra de herramientas de paginación no las pasarán.

store.setBaseParam('query', 'search-text'); // always send 'query' 
store.load({ params: { start: 0, limit: 40 } }); 
// this will send: 
// { query: 'search-text', start: 0, limit: 40 } 

store.load({ params: { query: 'bob', start: 41, limit: 40 } }); 
// baseParams overridden by load params 
// { query: 'bob', start: 41, limit: 40 } 

store.load(); // only sends baseParams 
// { query: 'search-text' } 

El ExtJS Ext.data.Storedocs tienen los detalles.

+0

Impresionante, gracias WES Voy a intentar esto y hacerle saber. –

-1

Configurar baseParams, como en la respuesta anterior, es solo para EXTJS 3.xo menos. Para ExtJs 4.xx, hay que añadir en el proxy de la tienda, un extraParam con su consulta: store.getProxy().extraParam= A JSON ENCODED QUERY como: store.getProxy().extraParam= Ext.JSON.encode({'sort':[{'id':'ASC'}]}) Para una configuración adecuada, investigar la su solicitud, en las herramientas de su desarrollador del navegador o en su base de

Cuestiones relacionadas