DBGRID ¿como seleccionar fila y obtener datos de la fila ?
¿como seleccionar fila y obtener datos de la fila dbgrid ?
tengo una tabla que tiene los datos empresa rfc domicionio sitioweb y los muestro en un dbgris con un query selec * from empresa para mostras todas las empresas listadas y sus datos ahora lo que quiero es que al seleccionar una celda de se seleccione automaticamente la fila completa y obtener los datos de esa fila. para pasarlos a unos edits. ¿como se puede hacer eso? le he estado viendo si hay algun codigo para seleccionar la fila completa segun la celda selecionada y no lo logro he probado,, como saber los datos de la fila segun la celda seleccionada y tampo encuentro como hacerlo.. ayuda.. de favor.. gracias. |
En las opciones del DBGrid puedes poner dgRowSelect en true para que se selecciones toda la fila. Y lo de pasar a los Edit, ¿por qué no mejor usas DBEdit para que automáticamente muestre los datos del registro seleccionado?
// Saludos |
hace como 1 año recuerdo que en este foro habia el codigo fuente para esas cosas
lo busco y no lo encuentro.. necesito que sean edits. o variables string o integer. para poder hacer modificaciones a otros controles segun se requiera |
Hola JXJ.
Me resultó interesante hacerlo, aunque dudo de su utilidad... Lo que hice fué pasar las columnas del DBGrid a tantos edits como tenga la misma, cuando se hace un click sobre una celda. Con pocas modificaciónes y del mismo modo; podrías pasar las columnas a TStrings, no tán vistoso, pero más simple y efectivo si sólo buscas pasar los valores a variables. Pero bueno, fijate si te sirve o al menos te dá una idea de como hacerlo:
Nota: No tiene en cuenta el Height del Form respecto a la cantidad de campos, es decir que si tenés 50 campos, vas a tener que modificar algo, o comprar un monitor mas alto... :D Saludos. :) |
A ver si esto te sirve...
Utilizo los IBX con Delphi 7 y he hecho algo parecido a lo que tú comentas. En el evento AfterScroll del IBDataset (seguramente existe ese mismo evento en otro tipo de Dataset), pones una condición if..then que se cumplirá cuando estés en el form que tiene ese DBGrid. Dentro de ese if..then pones la asignación del contenido de cada campo al edit que le corresponda. Sería algo así:
Así, cada vez que hagas clic en el DBGrid o te muevas por él con las teclas de flecha, se pone en marcha este evento y se actualizan los Edit con el contenido de los campos. Espero que te sirva. |
Repuesta !
Yo lo he trabajado así , y funciona correctamente ! espero que le sea de ayuda .
Código:
|
La franja horaria es GMT +2. Ahora son las 01:52:29. |
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