he incorporado la búsqueda en mi grid, a partir de un ejemplo que encontré en la red. El caso es que la búsqueda me funciona perfectamente, el problema viene cuando quiero cancelar dicha búsqueda, es decir, volver a mostrar todos los registros (onTrigger1Click) ya que me muestra el grid vacío.
Les dejo mi código a ver alguien puede saber qué puedo estar haciendo mal.
Gracias de antemano!!!
searchfield.js
Código:
getContacts1.php Ext.app.SearchField = Ext.extend(Ext.form.TwinTriggerField, { initComponent : function() { Ext.app.SearchField.superclass.initComponent.call(this); this.on('specialkey', function(f, e) { if (e.getKey() == e.ENTER) { this.onTrigger2Click(); } }, this); }, validationEvent : false, validateOnBlur : false, trigger1Class : 'x-form-clear-trigger', trigger2Class : 'x-form-search-trigger', hideTrigger1 : true, width : 180, emptyText : 'Introduzca Criterio ...', hasSearch : false, paramName : 'query', onTrigger1Click : function() { if (this.hasSearch) { var o = { start : 0, limit : 20 }; this.store.baseParams = this.store.baseParams || {}; this.store.baseParams[this.paramName] = ''; this.store.reload({ params : o }); this.triggers[0].hide(); this.hasSearch = false; } }, onTrigger2Click : function() { var v = this.getRawValue(); if (v.length < 1) { this.onTrigger1Click(); return; } var o = { start : 0, limit : 20 }; this.store.baseParams = this.store.baseParams || {}; this.store.baseParams[this.paramName] = v; this.store.reload({ params : o }); this.hasSearch = true; this.triggers[0].show(); } });
Código:
<?php $connection= mysql_connect("localhost","kszwsoso_ugespro","ugespro") or die("Connection Failed".mysql_error()); mysql_select_db("kszwsoso_gestorproyectos",$connection)or die("Error loading the DataBase".mysql_error()); //Paginación $start=isset($_POST["start"])?$_POST["start"]:0; $limit=isset($_POST["limit"])?$_POST["limit"]:15; //Control Búsqueda if ( isset($_POST["query"]) ) { $result= mysql_query("SELECT coddelegacion,descdelegacion,descsubdelegacion,domiciliodelegacion,poblaciondelegacion,provinciadelegacion,descprovincia,codpostaldelegacion,telefonodelegacion,faxdelegacion,emaildelegacion FROM gestdelegaciones001,gestprovin001 WHERE gestdelegaciones001.provinciadelegacion=gestprovin001.idprovincia AND baja=0 AND ( descdelegacion LIKE '".$_POST["query"]."' OR codpostaldelegacion LIKE '".$_POST["query"]."' OR provinciadelegacion LIKE '".$_POST["query"]."')"); } else { $result= mysql_query("SELECT coddelegacion,descdelegacion,descsubdelegacion,domiciliodelegacion,poblaciondelegacion,provinciadelegacion,descprovincia,codpostaldelegacion,telefonodelegacion,faxdelegacion,emaildelegacion FROM gestdelegaciones001,gestprovin001 WHERE gestdelegaciones001.provinciadelegacion=gestprovin001.idprovincia AND baja=0"); } $data= array(); $metadata = array(); while($row= mysql_fetch_array($result)){ array_push($data,array( "coddelegacion" => $row["coddelegacion"], "descdelegacion" => $row["descdelegacion"], "descsubdelegacion" => $row["descsubdelegacion"], "domiciliodelegacion" => $row["domiciliodelegacion"], "poblaciondelegacion" => $row["poblaciondelegacion"], "provinciadelegacion" => $row["provinciadelegacion"], "codpostaldelegacion" => $row["codpostaldelegacion"], "telefonodelegacion" => $row["telefonodelegacion"], "faxdelegacion" => $row["faxdelegacion"], "emaildelegacion" => $row["emaildelegacion"] )); } echo json_encode( array( "success" => true, "total" => count($data), "data" => array_splice($data,$start,$limit) ));
crud0.js
Código:
.......................................... //Búsqueda var searchUsers = new Ext.app.SearchField({ store : this.storeGrid, width: 180, id: 'fieldUsersSearch' }); //this.grid.on('afteredit',this.aviso); var pager = new Ext.PagingToolbar ({ store: this.storeGrid, displayInfo:true, displayMsg:"{0} - {1} of {2} Delegaciones", emptyMsg: "No Hay Datos Que Mostrar", pageSize:15 } ); var win = new Ext.Window({ title : "eProject - Gestión Delegaciones", layout : "fit", tbar : [ {text:'Añadir Registro', scope:this, handler:this.addContact,iconCls:'save-icon'}, {text:"Eliminar Registro", scope:this, handler:this.onDelete,iconCls:'delete-icon'}, {text:"Exportar", scope:this, handler:this.exportPDF,iconCls:'pdf-icon'}, {text:"Exportar", scope:this, handler:this.exportExcel,iconCls:'excel-icon'}, searchUsers, '->', {text:"Ayuda", scope:this, handler:this.ayuda,iconCls:'help-icon'} ], width : 1000, height : 435, x:0, y:10, bbar: pager, items : [this.grid] }); win.show(); .........................................................