如何随意移动数据记录的行,比如我想将第1条记录移到第10行...(20分)

  • 主题发起人 主题发起人 kelphi
  • 开始时间 开始时间
K

kelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
找了一些办法都不可行,不知大家有无好的见解?
 
我们都用内部一个编号的东西
然后用bookmark,移动所有的编号都改变。
如果数据量大的话可能不可取
with FlowQ do
begin
ThisNo := FieldByName('F_Step_NO').Asinteger;
Next;
BookMark1 := GetBookMark;
if not Eof then//当未到尾记录
begin
Edit;
// FieldByName('runtime').asinteger:=strtoint(timedbedit.text);
NextNo := FieldByName('F_Step_NO').Asinteger;
FieldByName('F_Step_NO').Asinteger := ThisNo;
Prior;
Edit;
FieldByName('F_Step_NO').Asinteger := NextNo;
Post;
Close;
Open;
GoToBookMark(BookMark1);
FreeBookMark(BookMark1);
end;
 
不能用moveby?
 
这个编号带小数,不就可以修改全部编号了吗。若这个编号有其他用途,
可新建一个专为排序的字段
 
DataSet.MoveBy(9)
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部