"在报表调用 SPL 的时候,如果数据集比较大,一次性返回会太多。 如果要分页进行返回。这个如何进行处理?"
在报表调用 SPL 的时候,如果数据集比较大,一次性返回会太多。
如果要分页进行返回。这个如何进行处理?
如果报表用大报表,那么 spl 中直接返回个游标,这样报表展示时自动会进行分页取数,边取数边展现,能提高性能。也可以自己在报表中处理,那么 spl 就是被调用的一方,那分页的一些信息就由报表传入了,比如设置两个参数,起始行,结束行,第一页时传入 1 到 20,第 2 页时 21 到 40,spl 中根据这两个参数过滤数据返回。这个就要报表和 spl 向结合了。http://d.raqsoft.com.cn:6999/report/tutorial/dbbzjsqsjjdsy181.html这里有润乾报表大报表结合 spl 的实现方式,可以参考下
如果是润乾报表,可以用大报表机制自动缓存并处理分页。其它报表工具一般都没有提供这种自动缓存分页机制,要自己用参数控制,每次都要重算,翻页体验会比较差,但没办法。报表工具基本上都不会提供可追加可分页的高速二进制数据格式,润乾报表也是基于 SPL 的 btx 来实现的。但报表程序员还不能简单地用 SPL 数据集拼出这个效果,这里还有写和读两个异步线程的配合问题。
如果报表用大报表,那么 spl 中直接返回个游标,这样报表展示时自动会进行分页取数,边取数边展现,能提高性能。
也可以自己在报表中处理,那么 spl 就是被调用的一方,那分页的一些信息就由报表传入了,比如设置两个参数,起始行,结束行,第一页时传入 1 到 20,第 2 页时 21 到 40,spl 中根据这两个参数过滤数据返回。这个就要报表和 spl 向结合了。
http://d.raqsoft.com.cn:6999/report/tutorial/dbbzjsqsjjdsy181.html
这里有润乾报表大报表结合 spl 的实现方式,可以参考下
如果是润乾报表,可以用大报表机制自动缓存并处理分页。
其它报表工具一般都没有提供这种自动缓存分页机制,要自己用参数控制,每次都要重算,翻页体验会比较差,但没办法。
报表工具基本上都不会提供可追加可分页的高速二进制数据格式,润乾报表也是基于 SPL 的 btx 来实现的。但报表程序员还不能简单地用 SPL 数据集拼出这个效果,这里还有写和读两个异步线程的配合问题。