From 9215d761c14de25e158cccf0b2c6e1e8870ee490 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 25 Jun 2008 09:59:18 +0000 Subject: [PATCH] uEditorDBBase.pas: Mejorado el posicionamiento dentro de la tabla durante el refresco de las tuplas. A veces pasaba que no se volvia a colocar en la tupla que estabamos viendo. git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@253 f4e31baf-9722-1c47-927c-6f952f962d4b --- Source/GUIBase/uEditorDBBase.pas | 33 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/Source/GUIBase/uEditorDBBase.pas b/Source/GUIBase/uEditorDBBase.pas index 467bae9f..e8224570 100644 --- a/Source/GUIBase/uEditorDBBase.pas +++ b/Source/GUIBase/uEditorDBBase.pas @@ -144,7 +144,8 @@ end; procedure TfEditorDBBase.dsDataTableDataChange(Sender: TObject; Field: TField); begin inherited; - ActualizarEstadoEditor; + if not (Sender as TDADataSource).Opening then + ActualizarEstadoEditor; end; procedure TfEditorDBBase.actRefrescarUpdate(Sender: TObject); @@ -180,7 +181,7 @@ end; procedure TfEditorDBBase.RefrescarInterno; var - ABookmark : TBookmark; + AID: Integer; begin inherited; if Assigned(dsDataTable.DataTable) then @@ -188,20 +189,20 @@ begin if (dsDataTable.DataTable.IsEmpty) or (not ModifiedQuery) then Exit; // No continuar con el refresco - ABookmark := dsDataTable.DataTable.GetBookMark; - dsDataTable.DataTable.DisableControls; //<- No descomentar - - ShowHourglassCursor; - try - dsDataTable.DataTable.Refresh; - - if dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark) then - dsDataTable.DataTable.GotoBookmark(ABookmark); - finally - dsDataTable.DataTable.FreeBookmark(ABookmark); - dsDataTable.DataTable.EnableControls; //<- No descomentar - HideHourglassCursor; - end; + with dsDataTable.DataTable do + begin + AID := RecIDValue; + DisableControls; //<- No descomentar + + ShowHourglassCursor; + try + Refresh; + Locate(RecIDField.FieldName, AID, []); + finally + EnableControls; //<- No descomentar + HideHourglassCursor; + end; + end; end; end;