Tengo en este gridpanel un paging con una lista desplegable, una caja de texto y dos botones, uno es buscar y el otro limpiar.
El store carga todos los datos de una tabla de la base de datos, la cuestion es que la página php la tengo configurada que si llegan los datos de las opciones de buscar el php devuelve lo solicitado y si las variables no contienen nada pues devuelve todos los resgistros de la base de datos.
Lo que quiero es, como configurar la url del store para que utilize la página php en un momento y en otro, trabajar según vayan viendo datos o no.
Aqui muestro el código que utilizo:
Código:
............................ //Este es el store con la pagina php, que por defecto me carga todos los datos de //la base de datos var store = new Ext.data.Store({ // load using HTTP url: 'php/usuario/inUsuario.php', //params: {idSeleccion: idSeleccion, buscarOpcionValue: buscarOpcionValue}, reader: new Ext.data.XmlReader({ totalRecords: "results", record: "item", id: "i_id_usuario" },[ {name: 'i_id_usuario', mapping: 'i_id_usuario'}, 'SearchIndex', {name: 'v_email', mapping: 'v_email'}, {name: 'v_password_usu', mapping: 'v_password_usu'}, {name: 'd_fecha_acceso', mapping: 'd_fecha_acceso'}, {name: 'i_activo', mapping: 'i_activo'}, {name: 'd_fecha_alta', mapping: 'd_fecha_alta'}, {name: 'd_fecha_mod', mapping: 'd_fecha_mod'}, {name: 'i_usuario_creacion', mapping: 'i_usuario_creacion'}, {name: 'i_usuario_mod', mapping: 'i_usuario_mod'} ]) //sortInfo:{field: 'i_id_usuario', direction: "ASC"} }); //Mediante este paging cargo los datos que se esten buscando a la página php var pagingBar = new Ext.PagingToolbar({ pageSize: 32, store: store, displayInfo: true, displayMsg: 'Viendo Los Datos {0} - {1} de {2}', emptyMsg: "No Hay Datos Para Mostrar", items:['-', seleccion,'-', buscarOpcion,'-', new Ext.Button({ text: 'Buscar', tooltip:'Buscar Registros Relaccionados', iconCls: 'search', handler: function(btn, pressed){ var idSeleccion = seleccion.selectedIndex; var buscarOpcionValue = buscarOpcion.getValue(); switch(idSeleccion){ case -1: Ext.MessageBox.show({ title:'Atención', msg:'Elija una opción para buscar', buttons: Ext.MessageBox.OK, icon: 'imagen_warning' }) break; case 2: if((buscarOpcionValue == 'si' || buscarOpcionValue == 'Si' || buscarOpcionValue == 'SI') || (buscarOpcionValue == 'no' || buscarOpcionValue == 'No' || buscarOpcionValue == 'NO')){ //yo quiero cambiar desde aquí para trabajar con los datos buscados store.load({params: {start: 0, idSeleccion: idSeleccion, buscarOpcionValue: buscarOpcionValue}}); } else{ Ext.MessageBox.show({ title:'Atención', msg:'Esta opción solo busca por "si" o "no"', buttons: Ext.MessageBox.OK, icon: 'imagen_warning' }) } break; default: store.load({params: {start: 0, idSeleccion: idSeleccion, buscarOpcionValue: buscarOpcionValue}}); } } }),'-', new Ext.Button({ text: 'Limpiar', tooltip:'Cargar Todos los Registros de Nuevo', //iconCls: 'search', handler: function(btn, pressed){ //Y cuando pulse este botón que me devuelva todos los datos de la tabla de la base de datos } })] });