ReportViewer控件在WebForm上的渲染过宽

时间:2011-02-08 20:04:56

标签: jquery asp.net css reporting-services

我有一个ReportViewer(版本10)渲染得比它要显示的框要宽得多。问题是参数区域看起来比实际报告区域宽得多。如果我在包含ReportViewer控件的div中放置一个“overflow:auto”,那么我会在底部得到一个水平滚动条,但是为了点击“查看报告”按钮,我必须滚动一下,从而移动整个报告。

理想情况下,我希望“参数”区域保持静止,但是在报告区域中会出现一个水平滚动条,以便在必要时可以滚动它。这样做的最佳方法是什么?

以下是我的控制设置现在的样子:

<div class="reportingFrame" style="text-align: center; width: 100%; overflow: auto">
    <sam:ReportViewer ID="UiReportViewer" runat="server" 
        AsyncRendering="False" 
        ProcessingMode="Remote"
        ShowExportControls="False"
        ShowPrintButton="False"
        ShowPromptAreaButton="False" 
        ShowRefreshButton="False" 
        SizeToReportContent="True"
        Width="100%" />
</div>

目前我正在研究一些jQuery技巧,将ReportViewer控件的输出重新格式化为更好的系统,所以如果有人对该路线有任何建议,我会很高兴听到它们。

1 个答案:

答案 0 :(得分:1)

我最终选择了javascript / jQuery路径,让我根据需要调整参数区域框的大小。仍然有一些图形调整可用于使底部的滚动条大小适当,但我跳过了这个迭代。这是我使用的jQuery:

jQuery('#<%= UiReportViewer.ClientID %> > table:last > tbody >  tr:first > td >  div:first > div > table').width(900);

jQuery('#<%= UiReportViewer.ClientID %> > table:last > tbody > tr:eq(2) > td:first > span:first > div:first').width(900); 

有一点需要注意,这只适用于10.0版本的ReportViewer。任何将来或以前的版本都不适用于此代码。