Foro

Filtro y búsqueda en nuestros grids

0
Hola, he aprendido tanto gracias a esta pagina y foro que quiero aportar mi granito de arena. En la aplicación que estoy trabajando se repetía constantemente la necesidad de habilitar un toolbar con capacidades de filtro y búsqueda por lo que me decidí a crear un componente que pudiera configurar sin mucha dificultad y resulto el sgte componente que me ha ahorrado muchas horas de tipeo, aquí pueden ver un screenshot y aqui un demo en vivo del funcionamiento: http://www.transmin.cl/toolbar.html lo más importante de este componente esta en la personalización de los campos de búsqueda y filtro y ademas que si mantenemos los alias de las tablas con las que hacemos join podemos filtrar o buscar sin mayores complicaciones. Obviamente es un componente que puede ser mejorado 100% pero mis conocimientos son limitados así que cualquier aporte es bien recibido así como cualquier duda será respondida a la brevedad posible. he adjuntado todos los archivos necesarios para hacerlo funcionar de manera local, incluido los archivos sql para las tablas del ejemplo. el archivo adjunto es un archivo rar que tuve que renombrarlo a zip porque el foro no me dejaba subirlo, por si deben cambiarle la extensión para poder descomprimirlo espero les sea de ayuda pd: si no pueden ver el adjunto , pueden descargarlo de aqui: http://www.transmin.cl/filtros.zip
0
@Verosb dinos en que te podemos ayudar :) pd: mi filtro ha mejorado mucho puesto que ahora permite filtrar fechas y despaginar
0
¿Es posible pedir ayuda acerca de este post o es muy antiguo??
0
Excelente, muy buen aporte, te interesaría escribir un tutorial un poco más detallado para ponerlo en la página principal? Saludos
0
esta excelente andaba yo pensando en como crear un toolbar para el filtrado de mi grid lo checare, espero poder entenderlo pz soy novatisimo en essto de extJS, por cierto ojala y publiquen el tutorial seria estupendo,
0
Yo encantado de hacerlo, me pondré a ello a la brevedad posible :)
0
Perfecto!! gracias por colaborar a la causa!!
0
Hola, he realizado algunos cambios a este filtro como por ejemplo, filtrado por fechas, busqueda exacta, despaginado, etc. Pueden ver una nueva version trabajando en : http://www.transmin.cl/toolbar.html y descargar los archivos para ejecutarlo uds mismo de aqui: http://www.transmin.cl/filtros.rar espero les sirva. ojo: esta en ExtJS 3.4 aun no empiezo completamente en 4 :( por falta de tiempo
0
Muchas Gracias amigo, fue de mucha ayuda tu post y el ejemplo, sigue posteando :)
0
Hola a todos. Excelente aporte tokkaido. Tengo la siguiente duda y es en cuanto a definirle una instrucción WHERE en la consulta original, realice los cambios en el archivo paging.php incluyendo una instrucción WHERE y habilite la opción siguiente y no me funcionan ya los filtros, mande impirmir el contenido de la consulta y despues del WHERE que defino me vuelve a salir WHERE (Deberia es concatenar los filtros con AND y luego si por el campo que filtro), aca dejo la modificación que hice colocandole un WHERE adicional por ejemplo es que me traiga solo los de IDIOMA Español. $sql_count = "SELECT c.ciudad, p.pais, i.idioma, DATE_FORMAT(c.fecha_visita,'%d-%m-%Y') AS fecha_visita FROM ciudades c LEFT JOIN paises p ON c.id_pais = p.id LEFT JOIN idioma i ON p.id_idioma = i.id WHERE (i.id = 1) " . $filtros->filtrar(); $filtros->filtrar(true); // si en la consulta original existiese previamente un WHERE, por defecto es false Espero alguien me pueda dar una ayuda con esto, gracias...
0
Hola a todos. Haga caso omiso a la anterior pregunta, ya entendi que en la misma consulta era solo colocar el valor de true, pense que se debia habilitar la siguiente línea a la consulta. ya me funciona bien. 1000 gracias.
0
Tokkaido me puedes resolver una duda y es en el archivo combo_filtro.php como podria yo adicionar una parametro en la busqueda por ejemplo si el campo de la tabla como llave no se llama id sino como tu dices por ejemplo id_pais AS id. La manera como yo lo hice fue: 1. En el archivo store_filtros.js en la variable st_filtro línea 9 adicione estas lineas: }, { name: 'campo_id' 2. En el archivo tbFiltros.js en la función buscar_campos_filtrar agregre esta linea : campo_id: r.data.campo_id, 3. Y en el archivo combo_filtro.php le agregue estas linea: $campo_id = isset($_POST['campo_id']) ? $_POST['campo_id']:''; y le cambie la consulta así: $sql = "SELECT $campo_id as id, $campo AS mostrar FROM $tabla WHERE $campo <> '' $where GROUP BY $group ORDER BY $order"; 4. Y un llamado por ejemplo en pagin.js en la variable filtrarData lo hago con un cuarto parametro que envio que es el nombre del atributo como llave: var filtrarData = [ ['Agremiación','pro_agremia ag','nombre_agremia','id_agremia'], ['Tipo Documento','pro_tipo_doc td','tipodoc_productor','id'], ['Persona','pro_genero g','genero_productor','id'] ]; Que pasa si requiero de otro parametro en el WHERE?

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.