Ver Mensaje Individual
  #1  
Antiguo 30-08-2006
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Reputación: 21
jzginez Va por buen camino
GotoBookMark en TClientDataSet

Hola amigos, estoy intentando hacer mis primeros pininos usando TClienteDataSet y TDataSetProvider, logro mostrar los datos de la tabla en un TDBgrid y abro otra forma para la captura de los datos, escribi estos dos procedimiento:
Código Delphi [-]
procedure TDtmDatos.pDSPClientesBeforeApplyUpdates(Sender: TObject;
  var OwnerData: OleVariant);
begin
  RegActual:= pCDSClientes.GetBookmark;
end;
y
Código Delphi [-]
procedure TDtmDatos.pDSPClientesAfterUpdateRecord(Sender: TObject;
  SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
  UpdateKind: TUpdateKind);
begin
  pFIBTransaccion.CommitRetaining;
  pCDSClientes.Close;
  pCDSClientes.Open;
  If Nuevo
    Then pCDSClientes.Last
    Else pCDSClientes.GotoBookmark(RegActual);
end;

el motivo de estos dos procedimientos es que como los cambios los realizo en una forma diferente cuando cierro esta los cambios no se ven reflegados en el TDBgrid, por eso cierro y abro pCDSClientes, pero al hacer esto el TDBGrid deja de apuntar al registro con el que estoy trabajando para poder ir nuevamente a el uso la variable "RegActual" pero en la linea "Else pCDSClientes.GotoBookmark(RegActual);" me da error de que el registro no existe, ya depuere el código y en ningun lado se esta perdiendo el valor de RegActual para efectos del ejemplo desde que lo optube hasta que lo use RegActual = $1e00ae0.
alguien tiene una idea de que puede estar pasando y alguna mejor forma de lograr que el DBGrid muestre los cambio, Gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
Responder Con Cita