您的位置:程序门 -> delphi -> 数据库相关



关于dbgrid或dbgrideh翻页功能的实现(比较复杂的翻页)


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于dbgrid或dbgrideh翻页功能的实现(比较复杂的翻页)
发表于:2007-09-15 10:10:36 楼主

创建一个dbgrid或dbgrideh,然后query到的内容显示在dbgrid中
问题1
如何实现翻页?
按照下面别人提供的方法但我看不太懂,我把m.wparamhi改成3以后确实能实现翻页功能,但不知道这个属性什么意思,请指点一二。

procedure   tform1.timer1timer(sender:   tobject);
var
m:tmessage;
begin
  m.msg:=wm_vscroll;
  m.wparamlo:=sb_linedown;
  m.wparamhi:=1   ;
  m.lparam:=0;
  postmessage(self.dbgrid1.handle,m.msg,m.wparam,m.lparam);

end;

--------------------------------------

问题2
当翻到第4页的时候   query重新open的话dbgrid又从第页开始翻了,如何实现继续翻页呢?

有人说用locate或者bookmarks   但是用locate定位以后位置就不对了
比如:
最后一次翻页的时候被指定当前query内容是当前页的最后一行,可是这个最后一行下次用locate定位的时候就在dbgrid中间显示了(好像用locate定位内容都会在dbgri中间显示的)
发表于:2007-11-20 11:09:441楼 得分:0
自己写sql实现,每页多少就每次取多少
发表于:2007-11-20 13:21:552楼 得分:0
对,这样是最好的,自己记录,看总共可以分多少页,然后用变量保存当前面,然后进行分别取数据进行显示
发表于:2007-11-21 12:54:013楼 得分:0
oushengfen的方法可行,delphi园地里好像有个分页的例子


快速检索

最新资讯
热门点击