![]() |
1.上方是自由表头(Freeform)的分页器, 该分页器和报表的 ds1 数据源绑定; 2.此处的分页器和树列表(Treelist)用到的分页器是同一个东西,原理相近,您也可以参考树列表的分页显示的例子; |
| 3.中心数据源的报表也可以使用分页,可打开另一个使用了中心数据源报表: |
![]() |
|
1.分页器的 XML描述文件: 2.源码如下:
function OnReady(id)
{
//Freeform容器
AF.func("Build", "report30.xml");
//2个控件都打开各自的模板
AF.func("id_pager.Build", "treelist/pager3.xml");
AF.func("id_report.Build", "report/xmlsheet11.xml");
//取得 ds1 数据源的句柄
var h = AF.func("id_report.GetHandle", "ds1");
//绑定, 一旦绑定将触发一个“Pager”分页事件
AF.func("id_pager.BindPager", h + "\r\n ID0");
}
//事件入口
function OnEvent(id, Event, p1, p2, p3, p4)
{
if(Event == 'id_pager.Pager') {
//响应分页事件:仅需要执行计算
AF.func("id_report.calc", "");
}
}
3.数据源的URL书写规则: 3.1. 可选规则一: URL中包含 "@rows" 和 "@startrow" (或 "@Page") 的宏。请打开该报表 ds1 数据源设置,可以看到其URL如下: ![]() 该数据源在取数时,分页器会将这3个宏替换成真正的数字的,这3个宏的含义为:每页行数、从第几行开始、页序; 3.2. 可选规则二: URL中包含名为 "rows" 和 "startrow" (或 "Page") 的属性,比如: http://www.supcan.cn/DotNet/access.aspx?rows=12&startRow=12 当数据源取数时,分页器能将 rows 和 startRow、page 参数的值替换成真正的值,例如: http://www.supcan.cn/DotNet/access.aspx?rows=20&startRow=0 3.3. 可选规则三: URL中不包含上述分页参数或宏,比如: http://www.supcan.cn/DotNet/access.aspx 当数据源取数时,分页器会去修改这个URL,追加 rows、startRow 和 page 参数,例如: http://www.supcan.cn/DotNet/access.aspx?rows=20&startRow=0&page=0 4.数据源返回的数据的格式: XML或JSON数据中,须包含名为 "totalRows" 的属性,即总行数,用于分页器的初始构造,写法请对照本例的真实XML数据: http://www.supcan.cn/DotNet/access.aspx?startRow=0&rows=5 也可以采用其它的写法,文档请参见树列表的文档: 6.分页/6.2 总行数. |