在SQL Server Reporting Services(SSRS)中,报表页面上的列数在“报表属性”中设置(这与随数据变化的字段列数不同)。
默认情况下,它设置为1,但它可以是两个或更多,然后向下流动。
我希望能够动态设置它,具体取决于我使用的打印机类型(标签卷或纸张)。但是,SSRS不允许您输入此值的表达式。有没有人有办法通过代码这样做?
答案 0 :(得分:0)
您可以在rsreportserver.config中定义多个自定义渲染选项:
<Render>
<Extension Name="PDF (1 column)"
Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PdfReport,
Microsoft.ReportingServices.ImageRendering"/>
<OverrideNames>
<Name Language="en-US">PDF (1 column)</Name>
</OverrideNames>
<Configuration>
<DeviceInfo>
<OutputFormat>PDF</OutputFormat>
<PageHeight>11in</PageHeight>
<PageWidth>8.5in</PageWidth>
<Columns>1<Columns>
</DeviceInfo>
</Configuration>
</Extension>
<Extension Name="PDF (2 columns)"
Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PdfReport,
Microsoft.ReportingServices.ImageRendering"/>
<OverrideNames>
<Name Language="en-US">PDF (2 columns)</Name>
</OverrideNames>
<Configuration>
<DeviceInfo>
<OutputFormat>PDF</OutputFormat>
<PageHeight>11in</PageHeight>
<PageWidth>8.5in</PageWidth>
<Columns>2<Columns>
</DeviceInfo>
</Configuration>
</Extension>
</Render>
Customizing Rendering Extension Parameters in RSReportServer.Config
PDF Device Information Settings
然后,在打印之前,只需选择合适的渲染格式。
但是,在报告网址中指定thouse设置会更容易:
http://servername/reportserver?/SampleReports/Employee SalesSummary
&EmployeeID=38&rs:Command=Render&rs:Format=HTML&rc:Columns=1
http://servername/reportserver?/SampleReports/Employee SalesSummary
&EmployeeID=38&rs:Command=Render&rs:Format=HTML&rc:Columns=2
见Specifying Device Information Settings in a URL
您还可以创建一些主报告并在那里放置链接。