Foros del Web » Programando para Internet » Javascript » Frameworks JS »

extjs, problema urgente

Estas en el tema de extjs, problema urgente en el foro de Frameworks JS en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 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
  #2 (permalink)  
Antiguo 22/06/2009, 21:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: extjs, problema urgente

mirate ejemplos de crud hechos en php, lo que tienes que hacer a grandes rasgos es crear dos if en el php, uno que se va a ejecutar si el usuario pasa datos y otro si no, entonces, desde el js, cuando captures los datos una ves el usuario haya hecho click en buscar, verificas si los datos capturados son diferentes a los valores con los que inicialisaste las variables, pues digo es que necesitarias unos valores de referencia para poder verificar si cambian cuando se capturen al hacer click en buscar. Entonces lo que te digo de buscar los ejemplos de crud es para que veas como se hacen los if en php y pues como interactuan con js, por alli hay partes de cruds heches en ext js.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:35.