You've already forked lazarus-ccr
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:
@ -43,12 +43,25 @@ var
|
|||||||
SaveState:TDataSetState;
|
SaveState:TDataSetState;
|
||||||
SavePos:integer;
|
SavePos:integer;
|
||||||
SaveActiveRecord:integer;
|
SaveActiveRecord:integer;
|
||||||
|
|
||||||
|
SaveAfterScroll:TDataSetNotifyEvent;
|
||||||
|
SaveBeforeScroll:TDataSetNotifyEvent;
|
||||||
begin
|
begin
|
||||||
if not Assigned(ADataSet) then exit;
|
if not Assigned(ADataSet) then exit;
|
||||||
|
if not Assigned(AGrid) then
|
||||||
|
begin
|
||||||
|
SavePos:=SavePos;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
DHL:=THackDataLink(THackRxDBGrid(AGrid).Datalink);
|
DHL:=THackDataLink(THackRxDBGrid(AGrid).Datalink);
|
||||||
DHS:=THackDataSet(ADataSet);
|
DHS:=THackDataSet(ADataSet);
|
||||||
SaveState:=DHS.SetTempState(dsBrowse);
|
SaveState:=DHS.SetTempState(dsBrowse);
|
||||||
|
|
||||||
|
SaveAfterScroll:=ADataSet.AfterScroll;
|
||||||
|
SaveBeforeScroll:=ADataSet.BeforeScroll;
|
||||||
|
ADataSet.AfterScroll:=nil;
|
||||||
|
ADataSet.BeforeScroll:=nil;
|
||||||
|
|
||||||
SaveActiveRecord:=DHL.ActiveRecord;
|
SaveActiveRecord:=DHL.ActiveRecord;
|
||||||
DHL.ActiveRecord:=0;
|
DHL.ActiveRecord:=0;
|
||||||
SavePos:=ADataSet.RecNo;
|
SavePos:=ADataSet.RecNo;
|
||||||
@ -80,6 +93,8 @@ begin
|
|||||||
DHL.ActiveRecord:=SaveActiveRecord;
|
DHL.ActiveRecord:=SaveActiveRecord;
|
||||||
DHS.RestoreState(SaveState);
|
DHS.RestoreState(SaveState);
|
||||||
|
|
||||||
|
ADataSet.AfterScroll := SaveAfterScroll;
|
||||||
|
ADataSet.BeforeScroll := SaveBeforeScroll;
|
||||||
{ RS:=THackZeosDS(ADataSet).ResultSet;
|
{ RS:=THackZeosDS(ADataSet).ResultSet;
|
||||||
CurRow:=RS.GetRow;
|
CurRow:=RS.GetRow;
|
||||||
RS.First;
|
RS.First;
|
||||||
|
@ -2884,7 +2884,6 @@ var
|
|||||||
S: string;
|
S: string;
|
||||||
Pos: integer;
|
Pos: integer;
|
||||||
begin
|
begin
|
||||||
inherited LinkActive(Value);
|
|
||||||
if Value then
|
if Value then
|
||||||
begin
|
begin
|
||||||
S := DataSource.DataSet.ClassName;
|
S := DataSource.DataSet.ClassName;
|
||||||
@ -2892,8 +2891,18 @@ begin
|
|||||||
FSortEngine := RxDBGridSortEngineList.Objects[Pos] as TRxDBGridSortEngine
|
FSortEngine := RxDBGridSortEngineList.Objects[Pos] as TRxDBGridSortEngine
|
||||||
else
|
else
|
||||||
FSortEngine := nil;
|
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
|
end
|
||||||
else
|
else}
|
||||||
begin
|
begin
|
||||||
FSortEngine := nil;
|
FSortEngine := nil;
|
||||||
if SelectedRows.Count > 0 then
|
if SelectedRows.Count > 0 then
|
||||||
@ -3538,18 +3547,18 @@ end;
|
|||||||
|
|
||||||
procedure TRxDBGrid.UpdateActive;
|
procedure TRxDBGrid.UpdateActive;
|
||||||
begin
|
begin
|
||||||
{ if FInProcessCalc > 0 then
|
if FInProcessCalc > 0 then
|
||||||
exit;}
|
exit;
|
||||||
inherited UpdateActive;
|
inherited UpdateActive;
|
||||||
{ if FInProcessCalc < 0 then
|
if FInProcessCalc < 0 then
|
||||||
begin
|
begin
|
||||||
FInProcessCalc := 0;
|
FInProcessCalc := 0;
|
||||||
UpdateFooterRowOnUpdateActive;
|
UpdateFooterRowOnUpdateActive;
|
||||||
end
|
end
|
||||||
else
|
{ else
|
||||||
if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then
|
if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then
|
||||||
UpdateFooterRowOnUpdateActive;
|
UpdateFooterRowOnUpdateActive;}
|
||||||
}
|
|
||||||
// UpdateRowsHeight;
|
// UpdateRowsHeight;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -4375,8 +4384,8 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
|
|
||||||
inherited LayoutChanged;
|
inherited LayoutChanged;
|
||||||
if DatalinkActive and (FInProcessCalc = 0) and (Datalink.DataSet.State = dsBrowse) then
|
{ if DatalinkActive and (FInProcessCalc = 0) and (Datalink.DataSet.State = dsBrowse) then
|
||||||
CalcStatTotals;
|
CalcStatTotals;}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TRxDBGrid.SetFocus;
|
procedure TRxDBGrid.SetFocus;
|
||||||
|
Reference in New Issue
Block a user