Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Como ejecutar cbsEllipsis button de DbGrid en un Click? (https://www.clubdelphi.com/foros/showthread.php?t=9209)

nefy 17-04-2004 00:26:46

Como ejecutar cbsEllipsis button de DbGrid en un Click?
 
Hola mi problema es el siguiente quiero saber si alguien conoce la posibilidad de q cuando se de un clic sobre una celda de un DbGrid q tiene la en columna su propiedad ButtonStyle en Ellipsis y al dar clic sobre dicho boton llama una ventana para hacer una consulta de datos.

El punto es q para ejecutarse el codigo del evento OnEditButtonClick debemos de dar como minimo tres clics pues primero se posiciona el foco del teclado sobre la celda y ya despues de ello se pone la celda en modo edicion y finalmente el click sobre el Boton. Y deseo encontrar la manera de q se ejecute en un solo clic pues los datos de esa columna no se editan sino q son importados a traves de la ventana q fue llamada por el boton, y por lo tanto lo mas optimo es q al dar un clic sobre dicha celda pues se dispare el evento OnEditButtonClic.
Espero haberme explicado y puedan ayudarme.

Por su atencion gracias y Salu2

roman 17-04-2004 01:19:40

Puedes ahorrate un click si pones DBGrid.Options.AlwaysShowEditor en true.
Pero mira, si no entiendo mal lo que deseas, en resumen es:

Al dar click en una celda debe generarse el evento OnEditButtonClick. ¿Por qué entonces no te olvidas del EditButton y simplemente pones el código que actualmente tienes en el evento OnEditButtonClick en el evento OnCellClick?.

// Saludos

nefy 17-04-2004 01:33:09

Acabo de seguir tu sugerencia Roman y si se efectua al primer clic solo q existe un pequeño detalle. Dos columnas realizan consulta a tablas diferentes, es decir q si doy un clic a la primer columna debe de llamar una ventana pero si doy click a la tercer columna debe llamarme a otra ventana. Ya lo solucione aparte del Tip q me pasaste identifico la columna sobre la q se dio click con este codigo donde Col es una Variable de tipo Byte
Col:=TDrawGrid(DbGdMovCont).Col;
y solo q dos ifs se soluciona el asunto.
Pues todo salio bien ya lo probe y trabaja de maravilla.
Gracias Roman y salu2.

nefy 17-04-2004 01:38:08

Solo quiero añadir algo mas q acabo de darme cuenta; si ponemos el grid en AlwaysShowEditor como True la ventaja es q nos ahorramos un clic pero aun asi debes de dar dos clicks pues no alcanzas a ejecutar el boton con un clic sobre la celda.
Ahora si es todo y gracias.

;o)

nefy 17-04-2004 01:40:17

Perdona Roman solo quiero corregir lo anteriormente dicho y es q eso q yo digo de q se ahorra un clic tu lo dijiste en tu respuesta y ahorita me acabo de dar cuenta. Perdon por quitarte los creditos pero te los devuelvo.


La franja horaria es GMT +2. Ahora son las 22:49:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi