FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Visualizar datos en un dbedit
Hola gente;
Quisiera saber cómo visualizar en un dbedit un campo que se encuentra señalado en un grid de otro formulario. Ambos formularios comparten Data Module. No se si de este modo iba bien encaminado pero ya no se por donde salir; DBEdit1.text := OtroFormulario.DBGrid1.DataSource.DataSet... //me pierdo... Agradezco vuestra ayuda. Saludos! |
#2
|
||||
|
||||
Hay algo mas "automático", le asignas en la propiedad DataSource el mismo que que el DBGrid y en DataField el campo que quieres mostrar.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
si necesitas hacerlo en runtime...
(me imagino que lo que quieres es que a medida que el usuario toquetea el grid en el dbedit le salga la casilla que está activa). imaginando que el dbedit esta en el Form2 (autocreación), y que el form1 tiene "uses Unit2"... [delphi] procedure TForm1.DBGrid1ColEnter(Sender: TObject); begin Form2.DBEdit1.DataSource:=dm.DataSource1; if DBGrid1.SelectedField<>nil then Form2.DBEdit1.DataField:= DBGrid1.SelectedField.FieldName else Form2.DBEdit1.DataField:=''; end; [delphi] eso si, no te servirá para los blobs, o los memos, tendrias que poner un dbmemo |
#4
|
|||
|
|||
Hola ruina,me has respondido exactamente a lo q quería, xo echale un vistazo a los errores q me da tu código;
[Error] GestionAbonados.pas(99): Undeclared identifier: 'DBGrid1ColEnter' [Error] GestionAbonados.pas(99): ';' expected but '(' found [Error] GestionAbonados.pas(101): Undeclared identifier: 'dm' Si intento definir la función en el type de la unit1 ( en mi caso;GestionAbonados) tampoco lo acepta ( me dice q en vez de un "(" va un "=" ). Podrias ayudarme? Muchas gracias por vuestro interés! |
#5
|
||||
|
||||
Si entiendo bien lo que quieres, según te decía Delphicom.ar, la solución más simple sería la siguiente:
Haces dobleclic sobre el Ttable al que está conectado la rejilla, añades todos los campos si no lo habías hecho antes botón derecho del ratón añadir, ahora selecciones los que te intresen y los arrastras sobre ese formulario en el que quieras que se vean, auotmáticamente te mostrará lo que tengas seleccionado en la rejilla sin escribir ni una letra de código. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
|||
|
|||
Hola Marcoszorrilla.
He hecho lo que tu y Delphi.com.ar me habéis dicho pero en el DBEdit del otro formulario sólo me sale el primer registro de la tabla q quiero mostrar, independientemente de lo el DBGrid esté señalando. No cambia nunca. En teoría debería cambiar conforme a lo apuntara el Grid, no? Muchas gracias a todos! |
#7
|
|||
|
|||
Ya lo tengo!
He hecho lo q te había dicho antes y he añadido esta linea de código al DBEdit; procedure TFModificarAbonado.DBEdit1Change(Sender: TObject); begin DBEdit1.text := FGestionAbonados.DBGrid1.SelectedField.DisplayText; end; Ahora ya me funciona bien! Gracias!! |
#8
|
||||
|
||||
Cita:
dm es como yo he llamado al datamodule, pero puedes sustituirlo por el form que contenga la tabla. te sugiero no usar el Text de un dbedit, ya que, precisamente, la ventaja de los dbedits es que pintan siempre lo que tenga el campo. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|