![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
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. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#2
|
|||
|
|||
|
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;
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; Gracias. Silvio.- |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|