|
Página 1 de 1
|
Dos Maneras De Llenar Un GridView Y Un Ejemplo De DbGridFilter
Autor |
Mensaje |
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Dos Maneras De Llenar Un GridView Y Un Ejemplo De DbGridFilter
A raíz de otro hilo de éste foro https://foro.gambas-es.org/viewtopi...&p=42806#p42806, he creado un pequeño ejemplo que compara tiempos de carga de dos modos distintos de llenar un gridview y presenta, además, un ejemplo con ayuda explicativa del control dbGridFilter, que es un Gridview con capacidades de filtrado y ordenación.
Para el ejemplo se crea una tabla con unos 800.000 registros en una base de datos sqlite. El aspecto es éste:
Espero que os sea útil.
Descripción: |
|
Descargar |
Nombre del archivo: |
ComparaGrids-0.0.1.tar.gz |
Tamaño: |
56.8 KB |
Descargado: |
42 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ComparaGrids-0.0.1.tar.gz |
Tamaño: |
56.8 KB |
Descargado: |
42 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ComparaGrids-0.0.1.tar.gz |
Tamaño: |
56.8 KB |
Descargado: |
42 veces |
=================== No podemos regresar
|
#1 Viernes, 10 Agosto 2018, 10:19 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Dos Maneras De Llenar Un GridView Y Un Ejemplo De DbGridFilter
Se me olvidaba, el formulario con el control dbGridFilter lleva una ayuda incorporada cuyo texto, extraído de las ayudas de los programas de mi empresa dice, más o menos, así:
Citar: Ordenar Registros:
Para ordenar los registros de las listas basta con hacer click sobre el título de la columna que queremos ordenar.
Primer Click = Ordenar de menor a mayor
Segundo Click (no doble click) = Ordenar de mayor a menor
Tercer Click = Columna desordenada
Mayúscula + Click = Elimina todas los ordenaciones previas y ordena solo por ésta columna de menor a Mayor.
Las ordenaciones son acumulativas pudiendo ordenar por varias columnas. Es útil pensar en la sintáxis “Ordena primero por este campo y dentro de los que sean iguales por este otro, etc.”
Seleccionar Registros (filtrado):
Hay tres maneras de filtrar registros:
-Filtrar sobre la casilla activa:
Hacemos click sobre celda cuyo valor queremos filtrar y después hacemos Mayúscula + doble click o pulsamos el botón “Filtrar sobre celda seleccionada” de la barra de botones de filtro.
A éste respecto debemos tener en cuenta que los filtros sobre celda activa son acumulativos funcionando igual que se explica más arriba con las ordenaciones. Es decir que si, como en la pantalla, hemos filtrado que la Provincia sea “Albacete”, podemos luego, por ejemplo, hacer click sobre la celda “Localidad” de un registro que contenga “Almansa” y volver a pulsar el mismo botón de “Filtrar sobre la celda seleccionada”. Esto nos filtraría la lista a los regtistros de la provincia = Albacete y la Localidad = Almansa.
Como norma básica cuantas más casillas sean así tratadas, menos registros aparecerán en la lista.
-Filtrar por contenido de celda:
Puede ocurrir que la celda sobre la que queremos buscar no esté a la vista y no podamos hacer click sobre una que contenga lo que deseamos, entonces lo más sencillo es hacer click sobre cualquier celda de esa columna (contenga lo que contenga) y teclear después todo o parte de la condición que busquemos. En la casilla de búsqueda, debajo de la lista, irá apareciendo el texto tecleado y con la tecla Enter se realizará la búsqueda por aproximación.
La búsqueda por aproximación la podemos traducir como ” que contengan ” y puede dar resultados bastante ambiguos, según casos. Como norma básica, cuanto más letras tecleemos menos registros irán apareciendo.
Como alternativa a la tecla Enter, podemos lanzar el filtro pulsando en el botón que aparece junto a la casilla de búsqueda, marcado por una lupa en la imagen. El botón con el ojo nos presenta una representación en lenguaje humano del filtro que tenemos activo.
El botón con la X roja sobre el embudo elimina los filtros activos y nos presenta todos los registros accesibles.
-Crear un Filtro avanzado:
La cantidad de selecciones que podemos realizar con estos sistemas son bastante limitadas. Para filtros más flexibles y/o complejos disponemos de los Filtros Avanzados, accesibles a través del botón con el cuadrado sobre el embudo.
Todas estas acciones también pueden realizarse a través de los menús contextuales si es que están activos, pulsando el botón derecho del ratón sobre el registro o columna deseados.
Filtros Avanzados:
Para confeccionar un filtro debemos seguir los pasos especificados en orden:
Seleccionamos el campo por el que queremos filtrar
Seleccionamos la condición que queremos que cumpla.
Introducimos el valor que queremos que contenga. Esto se puede hacer o bien tecleando en la casilla correspondiente o bien pulsando el botón con la lupa, lo que nos desplegará una lista con los valores existentes para ese campo (puede tardar en tablas muy grandes)
Añadimos la condición a la cadena de filtro con el botón a la derecha de la lupa.
Si son necesarias más condiciones, pulsaremos sobre el operador lógico deseado en la barra vertical de la derecha.
Los operadores lógicos disponibles son :
Y .- and, que se traduce como ” y que también “. Como norma cuantos más and existan menos registros se incluirán en el filtro.
O .- or, que se traduce como ” o que “. Como norma cuantos más or existan, más registros se incluirán en el filtro.
No.- not, que se traduce como ” que no “. Invierte el valor de cierto o falso de la condición que figure detrás.
También podemos añadir paréntesis que ejercen la misma función que en la fórmulas matemáticas, es decir, se evalúa primero el contenido del paréntesis y su resultado -cierto o falso- se evalúa con el resto de las condiciones. Son absolutamente necesarios para según qué consultas.Por ejemplo, si deseamos un listado de las Especialidades de Inglés y Matemáticas de la provincia de Albacete, el filtro:
`Provincia` = ‘Albacete’ and `Especialidad` = ‘Matemáticas’ or `Especialidad` = 'Inglés’
Producirá un resultado erróneo, puesto que incluirá a los de Matemáticas de Albacete y todos los de Inglés sean de Albacete o no. Sin embargo, el filtro:
`Provincia` = ‘Albacete’ and (`Especialidad` = ‘Inglés’ or `Especialidad` = ‘Matemáticas’ )
Producirá el resultado deseado, puesto que primero se evaluará si es Matemáticas o Inglés y caso de ser alguna de las dos condiciones se evaluará si es de Albacete.
En la casilla etiquetada “Cadena de Filtro” podremos ver el filtro que vayamos construyendo según lo vayamos haciendo. aunque no aparezca en castellano, hay algunas pequeñas cosas que sí debemos controlar para asegurarnos de que no se produzcan errores:
La Cadena de filtro no puede empezar por un operador lógico “or” o “and” o por un fin de paréntesis “)”
No debe haber nunca dos operadores lógicos and u or seguidos. Si vemos en la cadena “and and” o “and or” o “or or”, se generará un error. Esto no se aplica, naturalmente al operador not.
Los paréntesis, si los hay, deben estar siempre balanceados es decir por cada paréntesis que se abre debe haber uno que se cierra.
Si queremos retocar la cadena de filtro, no es obligatorio hacerlo con los botones y listas: podemos teclear directamente sobre ella. Esto nos da más libertad, pero también favorece la aparición de errores.
Es necesario recordar que la cadena de filtro se comparará con cada uno de los registros de la lista para decidir si debe o no ser incluído en ella. Por tanto condiciones imposibles generarán listas vacías. Por ejemplo, la cadena de filtro:
Localidad = “Albacete” and Localidad=”Toledo”
Proporcionará una lista vacía dado que ningún registro puede tener en el campo localidad Albacete y también Toledo (en el ejemplo debiera ser utilizado el operador or, que produciría una lista de los registros de Albacete y de Toledo).
Cuando ya hemos establecido algún tipo de filtro en la lista deslizante con los botones de “Filtrar por la celda Activa” o tecleando valores estando situados en alguna columna, el filtro así creado aparecerá en la casilla de “Cadena de Filtro” en el momento de abrir la pantalla, pudiendo así, ser modificada o complementada adecuadamente.
=================== No podemos regresar
última edición por shordi el Viernes, 10 Agosto 2018, 18:03; editado 1 vez
|
#2 Viernes, 10 Agosto 2018, 18:02 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|