找回密码
 立即注册

QQ登录

只需一步,快速开始

dengweifan

最新发帖
dengweifan
中级会员   /  发表于:2010-12-2 10:30:00
11#
group刚好显示满一个sheet. 而不使用分页符。 我是这样做的
rpt.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom;
rpt.PageSettings.PaperWidth = (float)999;
rpt.PageSettings.PaperHeight = (float)10;
rpt.PageSettings.Orientation = DataDynamics.ActiveReports.Document.PageOrientation.Landscape;
这样是让一个group刚好显示满一个sheet。

但我还需要让单个Sheet的中数据在Excel打印的时候实现每页都有表头和页码。

也就是让每个group插入分页控件(PageBreak)但是不使用xlsExport1.MultiSheet = true;的效果。

这两种情况分开了都可以实现,问题是能不能将2中情况合在一起同时使用。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-12-2 11:19:00
12#
还有一个办法,需要你对数据源做一些处理。

在数据源中添加一列PageNo,用于标识当前行数据应该打印在第几页,同时在报表中添加一个GroupHeader,并且设置GroupHeader.DataField=PageNo,GroupHeader.NewPage = After,这样也可以实现自动换页。
回复 使用道具 举报
dengweifan
中级会员   /  发表于:2010-12-2 14:57:00
13#


图示我现在想要通过AR6导出的Excel效果 Sheet1和Sheet2里面显示的内容一样只不过数据是根据GroupHeader.DataField 设置的字段区分的。您说的是再添加一个GroupHeader吗?
Samples.zip里有没相关的示例代码能参考吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-12-2 15:17:00
14#
对,跟你的思路差不多,不用再多添加一个GroupHeader。
目前你GroupHeader.DataField也是设置了不同的字段。
1. 你在数据源中,新加一列,叫PageNo。比如你将数据库中第1,2挑数据的PageNo设为1,将3,4行数据的PageNo设为2.
2. 将GroupHeder.DataField设为PageNo。
这样他就可以根据DataField的值不同,进行区分了,跟你的图是一个效果。

Samples里没有示例代码。真是从很多客户的使用经验和问题中总结出来的一个较为普遍的办法。
回复 使用道具 举报
dengweifan
中级会员   /  发表于:2010-12-3 10:32:00
15#
我按照你说的方法做了下,确实能到处和我贴出的图相似的效果,但是打印线位置还是要用户手动设置。由于每个Sheet数据会很多,我也不能固定rpt.PageSettings.PaperKind 的具体的打印纸张大小,只能最大化它显示的高度,不然会因为数据过多而导致分页。
回复 使用道具 举报
dengweifan
中级会员   /  发表于:2010-12-3 12:05:00
16#
还有就是在 this.xlsExport1.MultiSheet = true的时候
不管是设置GroupHeader.NewPage 或 是 分页控件(PageBreak) 都会出现在新的Sheet中
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-12-3 12:08:00
17#
MultiSheet为true的时候,肯定是这个效果,这是AR的设计。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部