RxDBGrid - continue work on calc footer

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2713 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2013-03-28 21:46:45 +00:00
parent 94c53ecb53
commit 6e3b508236
2 changed files with 34 additions and 10 deletions

View File

@ -43,12 +43,25 @@ var
SaveState:TDataSetState;
SavePos:integer;
SaveActiveRecord:integer;
SaveAfterScroll:TDataSetNotifyEvent;
SaveBeforeScroll:TDataSetNotifyEvent;
begin
if not Assigned(ADataSet) then exit;
if not Assigned(AGrid) then
begin
SavePos:=SavePos;
exit;
end;
DHL:=THackDataLink(THackRxDBGrid(AGrid).Datalink);
DHS:=THackDataSet(ADataSet);
SaveState:=DHS.SetTempState(dsBrowse);
SaveAfterScroll:=ADataSet.AfterScroll;
SaveBeforeScroll:=ADataSet.BeforeScroll;
ADataSet.AfterScroll:=nil;
ADataSet.BeforeScroll:=nil;
SaveActiveRecord:=DHL.ActiveRecord;
DHL.ActiveRecord:=0;
SavePos:=ADataSet.RecNo;
@ -80,6 +93,8 @@ begin
DHL.ActiveRecord:=SaveActiveRecord;
DHS.RestoreState(SaveState);
ADataSet.AfterScroll := SaveAfterScroll;
ADataSet.BeforeScroll := SaveBeforeScroll;
{ RS:=THackZeosDS(ADataSet).ResultSet;
CurRow:=RS.GetRow;
RS.First;

View File

@ -2884,7 +2884,6 @@ var
S: string;
Pos: integer;
begin
inherited LinkActive(Value);
if Value then
begin
S := DataSource.DataSet.ClassName;
@ -2892,8 +2891,18 @@ begin
FSortEngine := RxDBGridSortEngineList.Objects[Pos] as TRxDBGridSortEngine
else
FSortEngine := nil;
end;
inherited LinkActive(Value);
if not Value then
{ begin
S := DataSource.DataSet.ClassName;
if RxDBGridSortEngineList.Find(S, Pos) then
FSortEngine := RxDBGridSortEngineList.Objects[Pos] as TRxDBGridSortEngine
else
FSortEngine := nil;
end
else
else}
begin
FSortEngine := nil;
if SelectedRows.Count > 0 then
@ -3538,18 +3547,18 @@ end;
procedure TRxDBGrid.UpdateActive;
begin
{ if FInProcessCalc > 0 then
exit;}
if FInProcessCalc > 0 then
exit;
inherited UpdateActive;
{ if FInProcessCalc < 0 then
if FInProcessCalc < 0 then
begin
FInProcessCalc := 0;
UpdateFooterRowOnUpdateActive;
end
else
{ else
if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then
UpdateFooterRowOnUpdateActive;
}
UpdateFooterRowOnUpdateActive;}
// UpdateRowsHeight;
end;
@ -4375,8 +4384,8 @@ begin
exit;
inherited LayoutChanged;
if DatalinkActive and (FInProcessCalc = 0) and (Datalink.DataSet.State = dsBrowse) then
CalcStatTotals;
{ if DatalinkActive and (FInProcessCalc = 0) and (Datalink.DataSet.State = dsBrowse) then
CalcStatTotals;}
end;
procedure TRxDBGrid.SetFocus;