Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Editar Registro desde dbGrid (https://www.clubdelphi.com/foros/showthread.php?t=77566)

webmasterplc 08-02-2012 12:52:21

Editar Registro desde dbGrid
 
Hola a ver si alguien me puede ayudar necesito modificar un regisro con doble click del dbgrid. Que al hacer doble click se abra un form ara editarlo

Neftali [Germán.Estévez] 08-02-2012 13:15:49

¿Y qué problema hay?

Crea un formulario con los componentes para editar el registro (DBControls) y enganchalos a la misma fuente de datos que el DBGrid (Datasource).

Luego en el evento DobleClick del DBGrid abre el formulario de edición.

Tal vez no he entendido la pregunta.

webmasterplc 08-02-2012 13:25:12

ok ya tengo el formulario de edicion listo, y si coloco el numero de registro lo puedo modificar lo que quiero es hacer el enlace desde el dbgrid que al hacer clieck me abra el formulario con los datos a editar, solo me falta el enlace la verdad no se como hacerlo

Neftali [Germán.Estévez] 08-02-2012 13:35:23

¿Has probado con el método Show?

Accedes a los eventos del grid, en el dobleclick, colocas:

Código Delphi [-]
  form2.Show;

Cambia el form2, por el nombre de tu formulario.

webmasterplc 08-02-2012 13:44:01

me abre el formulario perfectamente pero la duda es como le indico cual es el registro para que me traiga los datos

Neftali [Germán.Estévez] 08-02-2012 13:53:02

Si los componentes de conexión (por eso te lo he dicho) son los mismo que los del Grid, te mostrará automáticamente el mismo registro que hay activo en el DBGrid, que es sobre el que has hecho el doble click.

webmasterplc 08-02-2012 13:59:07

Son los mismos, el mismo query y todo solo que el form me abre en blanco

webmasterplc 08-02-2012 14:05:43

Nota. el formulario uso edit, no estoy usando dbedit.

MartinS 08-02-2012 16:06:20

y asi?

en el evento doble clik del DbGrid

Código Delphi [-]
  With TuFormulario do
  Begin
     Edit1.Text := TuQuery.FieldByName('TuCampo').AsString;
     Edit2.Text := TuQuery.FieldByName('TuOtroCampo').AsString;
     ...
     If ShowModal = MROk then  // Si Presionas el boton aceptar de ese formulario
     Begin
    
         // hace Sentencias para modificar la base de datos...

         TuQuery.Close;
         TuQuery.Open; // para actualizar los datos
     end;
  end;

Saludos

Neftali [Germán.Estévez] 08-02-2012 19:12:22

Cita:

Empezado por webmasterplc (Mensaje 424517)
Nota. el formulario uso edit, no estoy usando dbedit.


Si usaras componentes de bases de Datos (DBEdit, por ejemplo), tendrías los datos directamente. Puedes hacer la prueba colocando uno y conectándolo a algún campo (DataSet y FieldName).
Si usas componentes normales, la cosa se complica y entonces debes asignar los valores "a mano" al entrar, como indica MartinS y grabar también "a mano al salir".

De todas maneras, yo te aconsejo que cambies los componentes.

webmasterplc 08-02-2012 19:18:18

Ok voy a hacerlo y les comento por aca

webmasterplc 08-02-2012 19:33:25

Fnciono perfectamente muchas gracias


La franja horaria es GMT +2. Ahora son las 10:39:48.

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