28/05/2009, 05:46
|
| | Fecha de Ingreso: abril-2009 Ubicación: En dust 2
Mensajes: 149
Antigüedad: 15 años, 7 meses Puntos: 2 | |
extjs, problema urgente Buenas, tengo un gridpanel que es cargado mediante un store que llama a una pagina php que devuelve un xml con los datos de los registros.
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
}
})]
});
Última edición por erevaristo; 28/05/2009 a las 07:10 |