SSRS报告 - 控制器/编辑布局

时间:2018-04-23 09:50:06

标签: c# asp.net twitter-bootstrap reporting-services controls

我是编程的初学者,想请求帮助。

我目前正在开发一个项目,该项目使用SSRS报告在我的网页上显示一个表格。它的问题在于它对于页面来说太大了,你必须沿水平轴滚动才能查看所有列。

我想知道,有没有办法控制SSRS报告的大小 - 它目前正在使用标签:rsweb:ReportViewer - 我也在使用Twitter Bootstrap - 我只是想在容器中添加报告,将滚动条显示在容器中,以便他们可以查看整个报表,而无需移动实际页面 - 我希望这是有道理的。

对此的任何帮助将不胜感激。

我的.aspx页面中的代码是:

<div class="col-md-12">
    <div class="form-group"> 
        <rsweb:ReportViewer ID="rptOutstandingSupplierReport" runat="server" Font-Names="Verdana" Font-Size="8pt" ProcessingMode="Remote" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt"  Width="100%" Height="1000px" ZoomMode="PageWidth" AsyncRendering="False" SizeToReportContent="true">    
        </rsweb:ReportViewer>
    </div>
</div>

后面的代码是:

private void OutstandingSupplierPayment(string sCompany)
{
    IReportServerCredentials irs = new CustomReportCredentials(" *removed credentials*" );
    ReportParameter[] rptParam = new ReportParameter[1];
    rptParam[0] = new ReportParameter();
    rptParam[0].Name = "CompanyID";
    rptParam[0].Values.Add(sCompany);

    rptOutstandingSupplierReport.ProcessingMode = ProcessingMode.Remote;
    rptOutstandingSupplierReport.ServerReport.ReportServerCredentials = irs;
    rptOutstandingSupplierReport.ServerReport.ReportServerUrl = new Uri(Session["ReportServer"].ToString());
    rptOutstandingSupplierReport.ServerReport.ReportPath = "*removed path*";
    rptOutstandingSupplierReport.ServerReport.SetParameters(rptParam);
    rptOutstandingSupplierReport.ZoomMode = ZoomMode.PageWidth;
    rptOutstandingSupplierReport.ServerReport.Refresh();
    rptOutstandingSupplierReport.Visible = true;
}

1 个答案:

答案 0 :(得分:0)

在您的aspx页面中,尝试使用缩放模式的服务器标签 创建隐藏变量以设置缩放percantage

  <input type="hidden" runat ="server" id="hdzoomper"/>
   <script type="text/javascript">
     var height=   window.screen.availHeight;
     var width =   window.screen.availWidth;
     if(height > 1200 and  width >1000)document.getElementByID('hdzoomper').value = 100;
          else     if(height > 1000 and  width > 800)
       document.getElementByID('hdzoomper').value = 80;              



         <script>
          <% int ZoomPer = int.Parse(hdzoomper.Value);  %>

       <div class="col-md-12">
<div class="form-group"> 
    <rsweb:ReportViewer ID="rptOutstandingSupplierReport" runat="server" Font-Names="Verdana" Font-Size="8pt" ProcessingMode="Remote" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt"  Width="100%" Height="1000px" ZoomMode='<%=ZoomPer%>' AsyncRendering="False" SizeToReportContent="true">    
    </rsweb:ReportViewer>
</div>