|
|
@@ -327,7 +327,12 @@ procedure TLeafXmjGlData.RefreshLeafXmj;
|
|
|
var
|
|
|
iNode: Integer;
|
|
|
vNode: TBillsIDTreeNode;
|
|
|
+ iBookMarkID: Integer;
|
|
|
begin
|
|
|
+ if Assigned(sdvLeafXmj.Current) then
|
|
|
+ iBookMarkID := sdvLeafXmj.Current.ValueByName('ID').AsInteger
|
|
|
+ else
|
|
|
+ iBookMarkID := -1;
|
|
|
sddLeafXmj.BeginUpdate;
|
|
|
sddLeafXmj.DisableControls;
|
|
|
try
|
|
|
@@ -344,6 +349,15 @@ begin
|
|
|
finally
|
|
|
sddLeafXmj.EnableControls;
|
|
|
sddLeafXmj.EndUpdate;
|
|
|
+ if iBookMarkID <> -1 then
|
|
|
+ begin
|
|
|
+ if Assigned(sddLeafXmj.FindKey('idxID', iBookMarkID)) then
|
|
|
+ sdvLeafXmj.LocateInControl(sddLeafXmj.FindKey('idxID', iBookMarkID))
|
|
|
+ else if sddLeafXmj.RecordCount > 0 then
|
|
|
+ sdvLeafXmj.LocateInControl(sddLeafXmj.Records[0]);
|
|
|
+ end
|
|
|
+ else if sddLeafXmj.RecordCount > 0 then
|
|
|
+ sdvLeafXmj.LocateInControl(sddLeafXmj.Records[0]);
|
|
|
end;
|
|
|
end;
|
|
|
|