请问在dbgrid中如何将记录向上移动一行? 我想将DBGRID中的数据每单击一次按钮就将该记录向上移动一行,比如原来该记录在DBGRID中位于第4行,我单击一次按钮后,将该记录移动到第3行,原来的第3行数据移动到了第4行,请问该怎么写,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用控件DBNavigator或代码 ADOQuery1.Prior; 你在dbgrid中的資料按甚麼欄位排序,就把這個欄位(field)的值交換一下,再排序,否則, 沒意義. ADOTable1.First;ADOTable1.Prior;ADOTable1.Next;ADOTable1.Last; ADOquery1.First;ADOquery1.Prior;ADOquery1.Next;ADOquery1.Last;还有可以用+2前进两条纪录,-2表示后退两条 你的意思是将下一条记录上移一行:procedure prior_row();var a1,b1:string;//我假设一个记录有二个字段 a2,b2:string;begin with ADOquery1 do begin edit; a1:=fieldbyname('a').asstring; b1:=fieldbyname('b').asstring; next; edit; a2:=fieldbyname('a').asstring; b2:=fieldbyname('b').asstring; pararmbyname('a').asstring;=a1; pararmbyname('b').asstring;=b1; prior; edit; pararmbyname('a').asstring;=a2; pararmbyname('b').asstring;=b2; end;end;也许这种方法很笨,但可以达到你的目的!~~ ADOquery1.First;ADOquery1.Prior;ADOquery1.Next;ADOquery1.Last;我测试了大家的这个方法,这个方法只是将光标的位置移动了,但是DBGRID中的数据并没有改变自己的位置啊,我想要的是改变记录的实际的物理位置。 你若想记录交换位置,就是数据在数据集中的位置也要遍,我建议你用ListView或StringGrid 关于fastreport3.0打印报表时的简单问题,各位大哥进来帮忙啊! 怎么把DBGrid里的数据写到Grid里? 请教:请各位大哥再来帮帮我这个问题(POS 打印),谢谢~! excel报表打印 求创建,解析XML文档的例子 求高手解线程函数返回值的问题。现在返回值为空。 兄第姐妹们,快帮忙呀 高手请回答:array[0..1000 * 1000 -1] 是什么样的矩阵数列? 用Delphi4编译的控件在Delphi5下不能使用 Delphi自带这种控件吗?(哪里可以找到) 请问如何在mainmenu菜单动态加入几个菜单,并且有不同的事件相对应 关于Debug问题
DBNavigator
或代码
ADOQuery1.Prior;
否則, 沒意義.
ADOTable1.Prior;
ADOTable1.Next;
ADOTable1.Last;
ADOquery1.Prior;
ADOquery1.Next;
ADOquery1.Last;
还有可以用+2前进两条纪录,-2表示后退两条
procedure prior_row();
var
a1,b1:string;//我假设一个记录有二个字段
a2,b2:string;
begin
with ADOquery1 do
begin
edit;
a1:=fieldbyname('a').asstring;
b1:=fieldbyname('b').asstring;
next;
edit;
a2:=fieldbyname('a').asstring;
b2:=fieldbyname('b').asstring;
pararmbyname('a').asstring;=a1;
pararmbyname('b').asstring;=b1;
prior;
edit;
pararmbyname('a').asstring;=a2;
pararmbyname('b').asstring;=b2;
end;
end;也许这种方法很笨,但可以达到你的目的!~~
ADOquery1.Prior;
ADOquery1.Next;
ADOquery1.Last;
我测试了大家的这个方法,这个方法只是将光标的位置移动了,但是DBGRID中的数据并没有改变自己的位置啊,我想要的是改变记录的实际的物理位置。