From f792b75f064f13049bd460eeba00fb162d7e3227 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 30 May 2008 18:21:30 +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.Tecsitel_FactuGES2/trunk@395 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- Source/GUIBase/uEditorDBBase.pas | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/Source/GUIBase/uEditorDBBase.pas b/Source/GUIBase/uEditorDBBase.pas index 75b249d4..ac895788 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,19 +189,19 @@ begin if (dsDataTable.DataTable.IsEmpty) or (not ModifiedQuery) then Exit; // No continuar con el refresco - ABookmark := dsDataTable.DataTable.GetBookMark; - dsDataTable.DataTable.DisableControls; //<- No descomentar + with dsDataTable.DataTable do + begin + AID := RecIDValue; + 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; + ShowHourglassCursor; + try + Refresh; + Locate(RecIDField.FieldName, AID, []); + finally + EnableControls; //<- No descomentar + HideHourglassCursor; + end; end; end; end;