Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Dos Maneras De Llenar Un GridView Y Un Ejemplo De DbGridFilter
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Dos Maneras De Llenar Un GridView Y Un Ejemplo De DbGridFilter 
 
A raíz de otro hilo de éste foro https://www.gambas-es.org/viewtopic...&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:
 captura_de_pantalla_de_2018_08_10_11_09_31

Espero que os sea útil.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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, 19:03; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
10.00 10 10 1
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Ejemplo De Dos Maneras De Cómo Ordenar Un... shordi Aplicaciones/Fragmentos de Código 2 Jueves, 02 Marzo 2017, 13:14 Ver último mensaje
shordi
No hay nuevos mensajes Buenas Maneras Y Costumbres En La Programa... aratar79 General 5 Domingo, 09 Septiembre 2012, 23:02 Ver último mensaje
ivanovichenco
No hay nuevos mensajes Tres Maneras De Crear Una Imagen Transpare... vuott Aplicaciones/Fragmentos de Código 4 Viernes, 05 Septiembre 2014, 15:59 Ver último mensaje
vuott
No hay nuevos mensajes Crear Una Aplicación. Partiendo De Distin... Shell General 9 Martes, 05 Noviembre 2013, 12:50 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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
No puede descargar archivos
No puede publicar eventos en el calendario