如何控制dxDBGRID的显示行数怎么实现象翻页一样的功能,在线等,马上给分哦
解决方案 »
- 为什么出现‘Expression Expected but Nothing found!
- delphi做的记事本有memo1,如何改成自定义的中文?
- 判断错误
- 高手入內!!!! 關於浮點型格式化的問題
- 菜鸟提问:怎么计算两个时间之间的时间?
- 网吧管理系统-源代码
- 如何删除Cookies下面的全部内容
- 从今天起,开始征集树性结构的各行各业的数据库,重重给分,分不够继续加分,上不封顶!
- 急!请问怎样才能如此连接ORACLE数据库?一定给分!!!
- 倾囊相送,关于串口通信的问题,我用的是mscomm,以下是我的原程序,
- delphi导入数据得问题(在线等待)
- 我delphi作業的程式,在運行後。PF使用量不停的狂吃!
http://topic.csdn.net/t/20021204/10/1229316.html
j:=m mod n;
if j>0 then
i:=i+1;
page:=i;通过下面代码,获取当前页显示内容,当前页用变量k表示
self.ADOQuery4.Close;
self.ADOQuery4.Connection:=self.ADOConnection1;
self.ADOQuery4.SQL.Clear;
Self.ADOQuery4.SQL.Add('select top n * from czjl where flag>0');
Self.ADOQuery4.SQL.Add(' and time_qy not in (select top '+inttostr(k-1)*n+' time_qy');
self.ADOQuery4.SQL.Add(' from czjl where flag>0 order by time_qy desc) order by time_qy desc');
Self.ADOQuery4.Open;
Self.ADOQuery4.Connection:=self.ADOConnection1;
Self.ADOQuery4.SQL.Clear;
Self.ADOQuery4.SQL.Add('select top n * from czjl where flag>0 order by time_qy desc');
Self.ADOQuery4.Open;
Grid.Perform(WM_VSCROLL,SB_PAGEUP,0);
Grid.Perform(WM_VSCROLL,SB_PAGEDOWN,0);
if(rst != null)
{
rst.next();//游标指向第一行
intRowCount=rst.getInt(1);//取得总行数
}
if(intRowCount < 1)
{
return ERROR;
}
intPageCount = (intRowCount % pageSize == 0) ? (intRowCount / pageSize)
: (intRowCount / pageSize + 1);// 计算出总页数
if (pageNow < 1) {
pageNow = 1;
}
if (pageNow > intPageCount) {
pageNow = intPageCount;
}
intMaxPage = intPageCount;
int iPast;
iPast = (pageNow - 1) * pageSize;
String sql = "select * from ( select * from T_POWERAREA where id not in (select id from (select id from T_POWERAREA order by id) WHERE ROWNUM <= "
+ iPast
+ ""
+ " )"
+ " order by id asc)"
+ " where rownum <= " + pageSize;
rst = db.openSql(sql); 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kampan/archive/2009/04/28/4133185.aspx
DBGrid 实现分页,参考一下吧 我印象中cx系列的grid支持分页
发 翻页滚动 消息不行吗?
用什么控件不是关键,只要支持sql就行,注意2楼的方法中的这些部分,也就是说,你所谓的分页,就是你根据计算出来什么时候该取哪些记录。
卡庙兄,你这里的pagesize是怎么确定下来的?