我所在的公司可能会获得ActiveReports 7许可证 . 有一个新的项目要求,需要将几个webgrids(实际上不是webgrids,但更像是使用zurb渲染的html)转换为pdf . 在代码背后的某一点上,它们是有效的数据集,或者可以创建为这样的数据集 . 有没有办法将数据从数据集传送到活动报告,然后将其作为PDF呈现出来 . 我希望尽可能保持报告的通用性,因此对所有数据表都有一个活动报告,因此使用活动报告通常会做到这一点是不可能的 .
我目前唯一能想到的是组头中的单个文本框,我可以将所有 Headers 连接起来,并在详细信息中单个文本框,我可以为每行输出所有数据 . 这里的问题是我遇到了很多格式问题,因为没有什么能正确排列 - 因为制表符分隔在这里什么也解决不了 . 我可以有多个具有不同间距的文本框,但随后它最终会转换为每个数据集的不同报告 . 是否可以应用某种标记,以便在我提供数据时保持列的间距 . 执行活动报告richtextboxes是否支持html标记?或者还有其他解决方案吗?
我会使用Itextsharp,但它不适用于商业产品 .
谢谢,山姆
1 回答
您可以动态构建一个报表,该报表将基于指定的DataSet输出一个简单的表,实际上是System.Data.DataTable . 基本上,对于DataTable中的每一列,在 Headers 中添加一个文本框以保存列的名称,并将另一个文本框添加到“详细信息”部分以保存该值 .
对于详细信息部分中的文本框,将其DataField属性设置为列的名称 . 通过绑定,您可以将报表的DataSource属性设置为DataTable,然后运行报表并将其导出为PDF .
以下代码是一个基本示例: