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)
-   -   DBGrid y tablas (https://www.clubdelphi.com/foros/showthread.php?t=11072)

silviodp 04-06-2004 16:40:23

DBGrid y tablas
 
Hola, quisiera saber como puedo hacer para que cuando estoy agregando registros a un DBGrid, mediante otro formulario donde ingreso los datos mediante DBEdits, no me deje ir viendo en el DBGrid lo que voy cargando en la Tabla hasta que haga un Post, y grabe los datos.
Gracias, saludos.

Silvio.-

roman 04-06-2004 16:44:56

Podrías desconectar momentaneamente el DBGrid del DataSource.

// Saludos

silviodp 04-06-2004 17:22:03

DBGrid y tablas
 
Y momentáneamente que le asigno, eso es lo que yo no sabía, osea algo tengo asignarle a esa propiedad, sería vacío, pero como?
Gracias.-

Silvio.-

roman 04-06-2004 17:27:44

nil

// Saludos

jachguate 04-06-2004 18:34:36

Si queres que el dbgrid mantenga "a la vista" los datos que ya tenia antes, y no quede vacio como al asignarle nil, podes usar otro datasource para el otro formulario, y simplemente "desactivar" el datasource del dbGrid mientras de realiza la edición/inserción.

DataSource1.Enabled := False;

Hasta luego.

;)

silviodp 07-06-2004 14:10:32

DBGirid y tablas
 
Yo probé usar un dataSource para el DBGrid y otro DataSource1 para el formulario donde cargo los datos pero no deja ver cuando cargo el segundo registro los datos que estaban en el DBGrid ya cargados.
Cuando Agrego el código es el siguiente:

Código:

procedure TForm4.AgregarClick(Sender: TObject);
Var
 n:Variant;
begin
 ModuloDatos.DSDetproducto.Enabled:=False;  //Aca lo deactivo DataSource
 Form16:=TForm16.Create(Self);
 Modulodatos.TblConsumos.Active:=True;
 ModuloDatos.TblProductos.Active:=True;
 ModuloDatos.TblDetproducto.Active:=True;
 If Modulodatos.TblDetproducto.IsEmpty Then
  begin
    ModuloDatos.TblDetproducto.Append;
    ModuloDatos.TblDetproducto.FieldValues['IDDETAL']:=1;
    ModuloDatos.TblDetproducto.FieldValues['CONSUMO']:=Modulodatos.TblConsumos.FieldValues['IDCONSUMO'];
  end
 Else
  begin
    ModuloDatos.TblDetproducto.Last;
    n:=ModuloDatos.TblDetproducto.FieldValues['IDDETAL'];
    ModuloDatos.TblDetproducto.Append;
    ModuloDatos.TblDetproducto.FieldValues['IDDETAL']:=n+1;
    ModuloDatos.TblDetproducto.FieldValues['CONSUMO']:=Modulodatos.TblConsumos.FieldValues['IDCONSUMO'];
  end;
end;

Y cuando Grabo (en el formulario donde cargo datos)
Código:

procedure TForm16.GrabarClick(Sender: TObject);
begin
 ModuloDatos.TblDetproducto.Active:=True;
 ModuloDatos.TblDetproducto.Post;
 Form4.Modificar.Enabled:=True;
 Form4.Quitar.Enabled:=True;
 Close;
 ModuloDatos.DSDetproducto.Enabled:=True;
end;

Que deberia hacer para corregirlo?
Gracias.

Silvio.-


La franja horaria es GMT +2. Ahora son las 07:53:15.

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