Lenka.Guo 发表于 2016-2-23 13:50:00

通过调试发现:
在Session 传对象的时候,数据丢失。
修改代码如下:
1. 在Custom.aspx.cs 中添加:

                  Session["pages"] = r.Document.Pages.Clone();// 将生成的报表内容页保存到 Session 中


2. 在Print.ashx.cs 中添加:

PagesCollection pages = context.Session["pages"] as PagesCollection;
            SectionReport sr = new SectionReport();
            sr.Document.Pages.AddRange(pages);


877121273 发表于 2016-2-23 14:57:00

问题已解决,想问下,到处excel时,提示未能加载文件或程序集“DocumentFormat.OpenXml是缺少了哪一个组件呢

Lenka.Guo 发表于 2016-2-23 15:13:00

引用DocumentFormat.OpenXml出问题了

C:\Program Files (x86)\Common Files\GrapeCity\ActiveReports 10\DocumentFormat.OpenXml.dll 在这个路径中,将DocumentFormat.OpenXml.dll添加到项目中即可。

877121273 发表于 2016-2-23 15:36:00

好了,谢谢:jy74a:

877121273 发表于 2016-2-23 15:52:00

导出的word文档没法显示网格,可是在代码里有加网格哦

Lenka.Guo 发表于 2016-2-23 17:49:00

那是因为您在加载数据时,没设置对应的TextBox 及边线。需要将textbox border 属性设置为solid。

877121273 发表于 2016-2-23 17:54:00

有哦,textBox.Border.Style = GrapeCity.ActiveReports.BorderLineStyle.Solid;,报表中显示就有网格,打印出来的就没有网格了,pdf有网格,word没有

Lenka.Guo 发表于 2016-2-24 08:54:00

:hjyzw:

877121273 发表于 2016-2-24 11:53:00

有解决方案吗

Lenka.Guo 发表于 2016-2-24 12:43:00

因为您的报表是自定义的,而且是区域报表,区域报表本就在TextBox 的边线显示上有限制。所以在导出Word的时候很多格式是不支持的,如边线等。
如果想要导出有边线,可尝试在TextBox 之间画线,使用Line 控件。如果这个方法也不能解决,那就不行。
页: 1 2 3 [4]
查看完整版本: 基于代码的区域报表怎样实现flashviewer的功能