RxFPC:TRxMemoryData - Three additional methods for changing order of records. id-0032253
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6068 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
a99e83b444
commit
bedcbe46bc
@ -171,6 +171,9 @@ type
|
||||
Mode: TLoadMode): Integer;
|
||||
function SaveToDataSet(Dest: TDataSet; ARecordCount: Integer): Integer;
|
||||
procedure AppendRecord(const Values: array of const);
|
||||
procedure MoveUp;
|
||||
procedure MoveDown;
|
||||
procedure ExchangeRec(ARecNo1, ARecNo2: Integer);
|
||||
|
||||
procedure SetDatasetPacket(AReader : TRxDataPacketReader);
|
||||
procedure GetDatasetPacket(AWriter : TRxDataPacketReader);
|
||||
@ -1672,6 +1675,30 @@ begin
|
||||
Post;
|
||||
end;
|
||||
|
||||
procedure TRxMemoryData.MoveUp;
|
||||
begin
|
||||
if (FRecords.Count > 1) and (FRecordPos > 0) then
|
||||
ExchangeRec(FRecordPos, FRecordPos + 1);
|
||||
end;
|
||||
|
||||
procedure TRxMemoryData.MoveDown;
|
||||
begin
|
||||
if (FRecords.Count > 1) and (FRecordPos < FRecords.Count - 1) then
|
||||
ExchangeRec(FRecordPos + 1, FRecordPos + 2);
|
||||
end;
|
||||
|
||||
procedure TRxMemoryData.ExchangeRec(ARecNo1, ARecNo2: Integer);
|
||||
begin
|
||||
CheckActive;
|
||||
CheckBrowseMode;
|
||||
if (ARecNo1 <> ARecNo2) and (ARecNo1 > 0) and (ARecNo2 > 0)
|
||||
and (ARecNo1 <= FRecords.Count) and (ARecNo2 <= FRecords.Count) then
|
||||
begin
|
||||
FRecords.Exchange(ARecNo1 - 1, ARecNo2 - 1);
|
||||
Resync([]);
|
||||
end;
|
||||
end;
|
||||
|
||||
{ Index Related }
|
||||
|
||||
procedure TRxMemoryData.SortOnFields(const FieldNames: string;
|
||||
|
Loading…
Reference in New Issue
Block a user