FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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.- |
#2
|
||||
|
||||
Podrías desconectar momentaneamente el DBGrid del DataSource.
// Saludos |
#3
|
|||
|
|||
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.- |
#4
|
||||
|
||||
nil
// Saludos |
#5
|
||||
|
||||
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 |
#6
|
|||
|
|||
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.- |
|
|
|