SectionReport.run()效率如何提升
本帖最后由 wy89757 于 2021-5-18 16:55 编辑private void Form1_Load(object sender, EventArgs e)
{
SectionReport report1 = new SectionReport();
SectionReport report2 = new SectionReport();
............
SectionReport report100 = new SectionReport();
report1.LoadLayout(@"..\..\Report1.rpx");
report2.LoadLayout(@"..\..\Report2.rpx");
............
report100.LoadLayout(@"..\..\Report100.rpx");
report1.Run();
report2.Run();
............
report100.Run();
report1.Document.Pages.AddRange(report2.Document.Pages);
report1.Document.Pages.AddRange(report3.Document.Pages);
............
report1.Document.Pages.AddRange(report100.Document.Pages);
viewer1.Document = report1.Document;
}
在实际代码运行中,黄色部分的代码执行效率很低,大概需要一分钟。有没有办法只Run()一次,而不是Run()一百次?
report1.Run(); report2.Run(); .......... report100.Run();
您好,这个代码逻辑 有点看不大懂。
您可以参考一下我们demo示例,关于section report的绑定:
可以在这里下载源码:
https://github.com/activereports/Samples15 Crystal.Li 发表于 2021-5-18 16:55
您好,这个代码逻辑 有点看不大懂。
您可以参考一下我们demo示例,关于section report的绑定:
我是想一次性预览100张报表,但是又不想每张报表都执行一次Run()方法,因为执行100次Run()方法很耗时间,有没有办法让这100张报表只执行一次Run()方法?从而提高速度? 您为啥要这样实现呢?您这个需求我们没有太理解,一般都是点击一张,加载一张报表,如果同时预览100张报表,应该没有什么好的方案,您可以说一下您的业务需求,我们看看是否有更好的方案。
Crystal.Li 发表于 2021-5-18 18:52
您为啥要这样实现呢?您这个需求我们没有太理解,一般都是点击一张,加载一张报表,如果同时预览100张报表 ...
需求是:客户他们不想一张一张的预览,想按下【批量预览按钮】后,把所有的报表一次性的预览到一个窗口里,但问题是加载速度很慢,Run()方法执行上百次会耗费大量的时间 首先给您说一下,同时预览100张报表肯定是有性能问题的,一次性请求的报表数量多,数据量大,必然是有性能问题。所以我们这边认为这个需求不是很合理,建议最好不要这么使用~
页:
[1]