结果集手工排序

给纤检所做一个项目,对测试报告结果需要调整测试项目的顺序,之前做的是鼠标拖放来重新排列结果集的顺序,现在客户想通过一个向上和向下的按钮来调整结果集中记录的顺序,通过测试,可以通过下面的方法来简单操作(下面仅简单说明下上移动记录的方法,向下移动方法同此,略):

 1 procedure TForm3.RzBitBtn1Click(Sender: TObject);
 2 var
 3   CurPos:TBookmark;
 4   n,o:Integer;
 5 begin
 6   //向上移动,注意, ADODataSet1的IndexFieldName要设置成排序编号
 7   if ADODataSet1.Bof then Exit;
 8 
 9   //up
10 
11   //记录当前记录位置
12   CurPos:=ADODataSet1.GetBookmark;
13   o:=ADODataSet1.FieldByName('排序编号').AsInteger;
14   ADODataSet1.Prior;
15 
16   n:=ADODataSet1.FieldByName('排序编号').asinteger;
17   ADODataSet1.Edit;
18   ADODataSet1.FieldByName('排序编号').asinteger:=o;
19   ADODataSet1.Post;
20 
21   ADODataSet1.GotoBookmark(CurPos);
22   ADODataSet1.Edit;
23   ADODataSet1.FieldByName('排序编号').asinteger:=n;
24   ADODataSet1.Post;
25 
26   //ADODataSet1.GotoBookmark(CurPos);
27 end;
28 
29 
原文地址:https://www.cnblogs.com/GarfieldTom/p/1705082.html