![]() |
Pasar datos de un dbgrid a un dbedit
Hola a todos, he estado buscando info sobre esto pero no he sacado nada en claro, a ver si me podeis ayudar.
Tengo una base de datos de access que abro con ADOConnection, una ADOTable y un DataSource que aupnta a los dbedit donde muestra la informacion. Para hacer busquedas uso el ADOQuery que me muestra los resultados en un dbgrid que esta apuntado por el mismo datasource. Ahora lo que quiero hacer es que cuando señale una campo del dbgird me muestre esta info en los dbedit. Seria en Ondbclick del evento del dbgrid, pero no tengo muy claro que sentencia debo poner. Si alguien me puede echar una mano.... Un saludo. |
Ejemplo:
|
El dgbrid es solo una representación gráfica de tu dataset enlazado. Lo que puedes hacer es enlazar tus DBEdit al mismo dataset que tienes en el dbgrid.
O utilizar el evento ondatachange de tu dataset. |
Hola
Perdonen pero es curioso: Cita:
Opino que con solo ligar el DBEdit al Datasource se vera el dato, sin mas. Nota: pongo estos en negrilla para que se vea la diferencia de un simple Edit a un DBEdit que es donde se quiere mostrar la informacion, segun nuestro amigo fran. Saludos |
Exactamente, lo queiro pasar a un dbedit el cual lo tengo ligado al mismo datasource que el dbgrid xo supongo que habra que escribir algun codigo en OnDblClick del dbgrid o en OnCellClick imagino.
Muchas Gracias :rolleyes: |
No tienes que escribir ningún código, ésa es la ventaja de este tipo de controles. Si no ves el dato es porque no están bien enlazados. Quizá el DataSource apunta a otro dataset, o quizá falta asignar la propiedad DataField del DBEdit. Pero, en resumen, todos los controles que apunten al mismo DataSource van a mostrar lo mismo sin necesidad de escribir ni una sóla línea de código.
// Saludos |
si esta bien enlzado, no tendrías porque escribir nada de código
|
Solo para que quede claro... El código que escribí te serviría en algún caso especial (Por ejemplo que por X o Y Razón decidiste no usar DBEdit , o que se yo...) pero definitivamente yo usaría un TDBEdit, a ver te explico porque... porque los DBEdit poseen una propiedad llamada DataSource y otra llamada DataField las cuales deberás enlazar a la información que quieres mostrar y listo... No tendrás que hacer nada mas para que muestre la información que deseas mostrar.
Nota: Una manera de hacerlo automaticamente sería arrastrando el campo desde el editor de campos del DataSet y como por arte de magia aparecerán un TLabel con un Caption igual al DisplayLabel del campo y un TDBEdit con las propiedades antes mencionadas ya "Amarradas". |
Hum.... pues revisando las conexiones creo que esta todo bien...
Tengo un ADOConnection donde le doy la ruta de la base de datos, luego un ADOTable donde su propiedad de connection le indico el ADOConnection y en TableName pues me coje el nombre de la tabla. Y despues un DataSource donde en DataSet le indico el ADOTable y dentro de este en Connection el ADOConnection. Despues ya tngo los DBEdit: En el DataField selecciono el nombre del campo que le corresponde, en DataSource selecciono el DataSource con el que estoy trabajando, dentro de esta propiedad, en dataset selecciono el ADOTable y dentro de esta otra en connection pues selecciono ADOConnection y su TableName. Despues tengo el ADOQuery para las busquedas con Connection al mismo ADOConnection, DataSource al DataSource, dentro de este en DataSet a ADOTable y dentro de este Connection a ADOConnection (no se si el fallo andara por aqui).y ya en SQL pues el comando que hace la busqueda. Y ya por ultimo tengo el DBGrid con el mismo DataSource, dentro de este DataSet a ADOTable y dentro de este Connection a ADOConnection y table name con su nombre de la Tabla. Las Consultas y navegacion por la tabla me funcionan sin poblemas. Asi que no se dnd puede estar el fallo. Estoy mirando tambien la opcion del TDBEdit, que pensaba que era lo mismo que el DBEdit. A ver si encuentro algo mas de info. Muchas Gracias. |
Pues hasta donde yo se TDBEdit y DBEdit son la misma cosa
|
Cita:
|
Ahm, entendi mal tu anterior pos jhonny
|
Cita:
|
Hola fran
Para que todos salgamos de dudas, haz lo siguiente: Dices que tienes un adotable y un adoquery, bien, ahora agarremos el que te interesa que tenga la informacion del DBEdit, ya lo tienes, bueno, supongamos que es el adoquery, como esta enlazado al adconnection, vera la tabla. bien. Ahora dale doble click al adoquery, te saldra una pantallita pequeña, con el raton derecho pones add y seleccionas todas los campos de la tabla.bien. Ahora coloca el raton en la campo que quieres que se vea en el DBEdit y arrastralo al form. Y ya. Saludos |
Entonces puede que me sobre el adotable, no? con el adoquery me bastará? creo que ya entiendo, a ver si esta noche tengo tiempo de probar y os cuento. Muchas Gracias :D
|
La franja horaria es GMT +2. Ahora son las 07:27:24. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi