





















昨天晚上加班到了凌晨一点,为的就是一个报表的打印格式问题,没有按要求把打印的方向设置为横向,以及纸张大小设置为B5。这个问题在今年四月的时候给Thailand系统Update的时候就已经遇到了,但是一直找不到设置不成功的原因。
出问题的报表是一份TV Schedule Report by Calculendar,其他MediaType类型的报表都是没有问题,同样的设置,就是这一份有问题。实在是没有办法,昨天加班的时候想了一下,Team Leader也试了了很多次,报表的打印设置是没有问题的。后来我突然想到这份报表和其他报表的区别就是控件里面又套了一个子控件。随便试了一下,把子控件删除,试了一下,哇,Print Settings竟然正确了,终于找到原因了,但是今天在处理这个问题的时候却让我很是为难。
<asp:repeater id="RepTVSchedule_Calendar" runat="server">
<ItemTemplate>
<tr>
<td colspan=3D5 class=3Dxl39>
<IMIX:Printout_wcTVScheduleReportByCalendar_Detail id="wcTVScheduleReportByCalendar_Detail"
</td>
<td colspan=3D5 class=3Dxl39>
<IMIX:Printout_wcTVScheduleReportByCalendar_Detail id="wcTVScheduleReportByCalendar_Detail2"
</td>
<td colspan=3D5 class=3Dxl39>
<IMIX:Printout_wcTVScheduleReportByCalendar_Detail id="wcTVScheduleReportByCalendar_Detail3"
</td>
<td colspan=3D5 class=3Dxl39>
<IMIX:Printout_wcTVScheduleReportByCalendar_Detail id="wcTVScheduleReportByCalendar_Detail4"
</td>
<td colspan=3D5 class=3Dxl39>
<IMIX:Printout_wcTVScheduleReportByCalendar_Detail id="wcTVScheduleReportByCalendar_Detail5"
</td>
<td colspan=3D5 class=3Dxl39>
<IMIX:Printout_wcTVScheduleReportByCalendar_Detail id="wcTVScheduleReportByCalendar_Detail6"
</td>
<td colspan=3D5 class=3Dxl39>
<IMIX:Printout_wcTVScheduleReportByCalendar_Detail id="wcTVScheduleReportByCalendar_Detail7"
</td>
</tr>
</ItemTemplate>
</asp:repeater>
这是最顶层控件里的一段代码,里面调了一个子控件,子控件里面就是一个Table,但是就是因为这一个Table,导致了Print Settings根本没用,我想应该是在出报表的时候MS会执行一些合法性检查,对于不合法的会采用一种“包容”的方式来处理,也许是子控件这里的做法违反了MS Excel的合法性要求,导致Print Settings的设置和子控件的设置不能兼得,所以MS就把自定义得Print Settngs删除了,采用默认的Print Settings。但是要改这个问题,可能是不能在td里面套table吧。
如果有了解这些东西的朋友,请帮个忙。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。