用DBGrid一次显示太多数据记录,看起来太多.怎么做一次显示20条记录,点击一个按钮后显示下一个20条记录
即可以实现"第一页" "下一页" "上一页" "最后一页"的翻滚数据记录功能?谢谢!
即可以实现"第一页" "下一页" "上一页" "最后一页"的翻滚数据记录功能?谢谢!
解决方案 »
- 关于收/发传真的问题!
- 本公司诚聘delphi程序员(有效期2006年4月)
- 请教我的图象怎么播放不出来啊
- 如何实现类似于Foxmail的选择菜单,如“查看”-“工具条”
- delphi中的几个简单问题
- WSAStartup应该use那个dcu?
- 怎样用循环提出数据库中的前5条记录并将其中具体字段的值付给text1,text2,tex3...
- 一郎Delphi学习笔记二
- 对象名转换字符串问题,高分相赠!
- Query控件的updatemode为什么不好用?
- 求解:以前同事做了一个程序,用了TrayIcon组件,现在我想修改下,却报错......
- 如何有代碼實現 tadoquery 設計時 fields editor --> add all fields
+' (CASE dbo.NEGM_Log.SendOrReceive WHEN 1 THEN ''发送'' WHEN 2 THEN ''接收'' END) '
+' AS Send,(CASE dbo.NEGM_Log.MsgOrFile WHEN 1 THEN ''消息'' WHEN 2 THEN ''文件'' END) AS PType '
+' FROM %s.dbo.EMS_Employees INNER JOIN '
+' %s.dbo.NEGM_Log ON dbo.EMS_Employees.ID = dbo.NEGM_Log.UserID where dbo.NEGM_Log.ID = ' + IntToStr(nmm_intID)
+' and (DATEDIFF(day, MsgTime, GetDate()) >='+ IntToStr(GetCpareTime(cbb2.ItemIndex))+ ')'+ 'and (dbo.NEGM_Log.SendOrReceive =' + IntToStr(cbb3.ItemIndex)+')';
------------------------------------------------------------这条语句是我根据时间类型,也就是数据库中有个MsgTime字段来判断,取出cbb2.ItemIndex的索引值,判断几天为限进行分页
精髓在这句 DATEDIFF(day, MsgTime, GetDate()) >='+ IntToStr(GetCpareTime(cbb2.ItemIndex)) 当然也可以根据ID,或则你所标志的任意的类型判断都可以,变通实现
不要被其所迷惑
谢谢!
你介绍的方法似乎可行,但怎么保证在点击下一页的时候,只是到最后记录就停止呢?
因为一直点击“下一页”的时候即使没有记录也会形成一个空的记录页,当点击“上一页”时候要点击相同的次数才能回到有记录的页。