Problema Con La Tecla Enter Y Flechas En Un Grid


Objetivo: Problema Con La Tecla Enter Y Flechas En Un Grid
Hola.
Estoy usando 3 grid, uno para los datos y otros 2 justo encima, para los filtros. Estos ultimos se ajustan según el grid de los datos, por ejemplo, si modifico el ancho de las columnas del grid de los datos el otro también se modifica etc. etc.
El efecto es que todo el tiempo hay una grilla de iguales dimensiones sobre el encabezado y queda parecido a sqlitebrowser. En este grid de filtros escribo texto para filtrar la consulta sql para luego con el evento data recargar el grid de los datos de acuerdo a lo filtrado.
Todo va fenómeno, hasta que pulso la tecla enter o la flecha y se pone en un bucle infinito en el evento _click.
No logro entender por que sucede esto.
captura_de_pantalla_2016_05_29_13_50_15
Por todo lo demás funciona bastante bien.
Si alguno se le ocurro alguna idea de por donde puede estar el problema, por favor comentelo.

Saludos.

Perfil MP  
Objetivo: Re: Problema Con La Tecla Enter Y Flechas En Un Grid
Citar:
odo va fenómeno, hasta que pulso la tecla enter o la flecha y se pone en un bucle infinito en el evento _click.
No logro entender por que sucede esto.


Yo creo que tiene que haber algún error en algún sitio. Posiblemente en el código... casi seguro.

Eso era ironía. Tincho, ya tienes suficiente experiencia en el foro para saber hacer mejores preguntas. Anda, elabora un poco, sube código, sube el proyecto, una fotito, algo...

Perfil MP  
Objetivo: Re: Problema Con La Tecla Enter Y Flechas En Un Grid
shordi escribió: [Ver mensaje]
Yo creo que tiene que haber algún error en algún sitio. Posiblemente en el código... casi seguro.
Eso era ironía. Tincho, ya tienes suficiente experiencia en el foro para saber hacer mejores preguntas. Anda, elabora un poco, sube código, sube el proyecto, una fotito, algo...

Si un poco flaca mi pregunta la verdad. pero estaba esperando despertar interes
Estoy intentando hacer un programa que permita hacer unos filtros rápidamente sobre un resultado que se muestra en un tableview, y luego guardar esos filtros (la sentencia sql en realidad) como filtros que se pueden usar para generar diferentes documentos en forma batch.
Subo aquí el código, que esta súper verde, pero funciona hasta cierto punto.
captura_de_pantalla_2016_05_29_13_50_15_2
Modo de uso:
1) Hay que seleccionar el motor de base de datos (solo funciona de momento sqlite) luego hay que hacer doble click en el textbox del host y se abrirá el dialogo de selección del archivo sqlite
2) Una vez seleccionado el archivo sqlite hay que "conectarse" al archivo mediante el botón que tiene el icono de conexión, y en este punto aparecerá una lista en el treeview con todas las tablas (menos las de sistema) y haciendo click en una de esas tablas se mostrara la información en el tableview de datos.
3) Hay dos tableview de una linea, el de arriba es para seleccionar el tipo de operador para la sentencia y el de abajo es para el valor.
De momento trabaja solo con una tabla a la vez, pero mas adelante lo hará con mas tablas a la vez (que es lo interesante para hacer consultas sql).


getsmart-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: getsmart-0.0.1.tar.gz
Tamaño: 82.28 KB
Descargado: 22 veces
getsmart-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: getsmart-0.0.1.tar.gz
Tamaño: 82.28 KB
Descargado: 22 veces
getsmart-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: getsmart-0.0.1.tar.gz
Tamaño: 82.28 KB
Descargado: 22 veces

Perfil MP  
Objetivo: Re: Problema Con La Tecla Enter Y Flechas En Un Grid
Un tableview sale del estado de editor cuando se pulsa enter o una flecha de dirección. Se dispara entonces el evento tv_Save en este evento tú llamas a la función cmdArrangeGrid, que reconstruye el tableView y eso (no he tenido paciencia para depurar en qué momento) dispara el evento tbvDataFilterValue_Click otra vez, con lo que lo metes en un bucle infinito.

Si comentas la línea 657 de tu proyecto rompes ese bucle.

Es un poco enrevesado todo lo que haces, plantéatelo de una forma más simple y poco a poco añade o quita comportamientos y capacidades al Form

La idea no es mala, pero cuestiónate, por ejemplo qué pasa si se trata de una base de datos con tropecientos registros o que está en un servidor lejano que tarda cuatro o cinco segundos en responderte a cada consulta...
Eso que pretendes lo tengo yo hecho, pero con un enfoque taaaan distinto y taaaan asociado a los problemas de mi empresa que no me atrevo a contarlo por aquí...

Saludos

última edición por shordi el Domingo, 29 May 2016, 21:02; editado 1 vez
Perfil MP  
Objetivo: Re: Problema Con La Tecla Enter Y Flechas En Un Grid
shordi escribió: [Ver mensaje]
Un tableview sale del estado de editor cuando se pulsa enter o una flecha de dirección. Se dispara entonces el evento tv_Save en este evento tú llamas a la función cmdArrangeGrid, que reconstruye el tableView y eso (no he tenido paciencia para depurar en qué momento) dispara el evento tbvDataFilterValue_Click otra vez, con lo que lo metes en un bucle infinito.

Ok, tu planteo me hizo preguntarme en que habia en cmdArrangeGrid que generaba un evento data en los grid de los filtros y voila, encontré la metida de pata. asi que comente las lineas que obligaban a generar el evento data en esos grid.
'tbvDataFilterType.Rows.Count = 0
'tbvDataFilterValue.Rows.Count = 0


Por otra parte el evento _save también se genera haciendo click en otra celda, pero mi problema no fue por el evento save sino por generar por la fuerza un evento data donde no hacia falta.

Gracias por la ayuda.

Perfil MP  

Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1563s (PHP: -43% SQL: 143%)
Consultas SQL: 32 - Debug off - GZIP Activado