当你刷新当前Table时,刷新后如何回到你上一次所在位置呢?

it2025-01-11  13

第一:

在你刷新前保存所在位置的行号

procedure XXXClass.LockPositionEx;begin DisableControls;

FHistoryRecNo := 0; FHistoryIndexName := EmptyStr; if Active then begin if IndexName <> EmptyStr then FHistoryIndexName := IndexName; IndexName := EmptyStr;

if not IsEmpty then if (State in [dsEdit,dsInsert]) then FHistoryRecNo := -1 else FHistoryRecNo := RecNo; end;end;

第二刷新后定位到新行号

procedure XXXClass.UnlockPositionEx;begin if Active then begin if not IsEmpty then if FHistoryRecNo < 0 then//处理编辑状态,直接跳至最后一条记录 Last else if FHistoryRecNo = 0 then First else if FHistoryRecNo > 0 then// begin if RecordCount >= FHistoryRecNo then RecNo := FHistoryRecNo else if RecordCount > 0 then Last; end; if FHistoryIndexName <> EmptyStr then begin IndexName := FHistoryIndexName; FHistoryIndexName := EmptyStr; end; end;

EnableControls;end;

 

转载于:https://www.cnblogs.com/Morlin-julier/p/5038627.html

最新回复(0)