DataSetTableProducer中的MaxRows为什么不起做用?当超过一定的记录数时如何使输出的形式类似本论坛自动提供1。2。3。4...页的连接(8

  • 主题发起人 主题发起人 MicroStar
  • 开始时间 开始时间
M

MicroStar

Unregistered / Unconfirmed
GUEST, unregistred user!
DataSetTableProducer中的MaxRows为什么不起做用?当超过一定的记录数时如何使输出的形式类似本论坛自动提供1。2。3。4...页的连接(80分)<br />DataSetTableProducer中的MaxRows为什么不起做用?当超过一定的记录数时如何使输出的形式类似本论坛自动提供1。2。3。4...页的连接
 
哈,你问了我前几天问的问题,我没找到更好的办法 .
是这样解决的
// 接受参数, select 的内容,页号等.
pagenum:=strtoint(trim(request.QueryFields.Values['page']));
usersel:=strtoint(trim(request.QueryFields.Values['select']));
.............
query_temp.close;
query_temp.SQL.clear;
query_temp.SQL.Add(usersel);
query_temp.Open;
pagecount:=query_temp.recordcount div maxrow +1;
if pagecount>1 then
begin
htmlstr:=htmlstr+'第';
for i:=1 to pagecountdo
htmlstr:=htmlstr+'<a href="/scripts/samples.dll'
+'?select='+usesel+'&amp;page='+inttostr(i)
+'">['+inttostr(i)+']</a>';
// 注意:在这根据纪录数生成一个链接 1页2页3页4页.....
htmlstr:=htmlstr+'页';
end;
//以下根据页数移到相应纪录,并画页面.
query_temp.MoveBy((pagenum-1)*maxrow);
i:=0;
while not query_temp.Eofdo
begin
htmlstr:=...........
query_temp.next
end;

希望能看到更好的方法.参阅 'isapi中如何在返回的页面中分页?'
 
我写的HTML语句,它给注释掉了. 用 {} 代替 <>
'{a href="/scripts/samples.dll'
+'?select='+usesel+'&amp;page='+inttostr(i)
+'"}['+inttostr(i)+']{ /a}';
 
DataSetTableProducer中的MaxRows是只一页上显示几行记录,
如果要编写1,2..功能,需要自己完成,记录上一页的记录号!!!
 
接受答案了.
 

Similar threads

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