【发布时间】:2010-08-14 11:55:58
【问题描述】:
我的 SSRS 报告包含 7 个输入参数,并且在运行我的报告时,参数的大小(即长度)正在增加。
我的一个输入参数(下拉列表)可能包含 100 个字符,因此大小不是恒定的,但我想将所有参数放在 2 行或 3 行(连续)中。
现在每行有 2 个参数
请指教
【问题讨论】:
标签: ssrs-2008 reporting-services
我的 SSRS 报告包含 7 个输入参数,并且在运行我的报告时,参数的大小(即长度)正在增加。
我的一个输入参数(下拉列表)可能包含 100 个字符,因此大小不是恒定的,但我想将所有参数放在 2 行或 3 行(连续)中。
现在每行有 2 个参数
请指教
【问题讨论】:
标签: ssrs-2008 reporting-services
正如 gbn 所指出的,要更改内置的报表服务器呈现参数的方法并不容易。 SSRS 喜欢总是每行使用两个参数,按照它们在报告中存在的顺序呈现(必须与依赖顺序匹配。)
因此 gbn 提到的替代方案:两者都涉及构建“包装器”应用程序:一些自定义代码或网页,您可以根据自己的喜好进行编码以获取参数。然后,您可以在代码中调用 Reporting Services,也可以通过传递带有参数的格式化 URL 来调用 Reporting Services。报告可以显示在框架、新窗口中,或作为流传递到您想要的任何位置。
URL 访问非常简单可靠:我经常手动(创建“收藏夹”)或在代码中使用它。
http://msdn.microsoft.com/en-us/library/ms153586.aspx
对于您正在寻找的内容,这些可能比您预期的要多,但它们对于您的界面将非常灵活。
杰米
【讨论】:
您当然可以这样做,只需在解决方案资源管理器中右键单击 RDL 文件并选择查看代码。然后根据您想要定位的位置移动<ReportParameters> 下名为<ReportParameter Name="Nameofparameter"> 的XML 标签。然后保存它。就是这样!!!
报告参数有点浮动,值为 2,因此如果您有 4 个报告参数,那么它将在下一行 3,4 显示为 1,2。祝你好运!!
【讨论】:
使用 ASP.NET 作为参数和一个 ReportViewer 控件或 URL 访问来呈现。认真的。
我不知道以任何方式呈现参数的任何选项其他然后是默认的
【讨论】:
我相信你可以尝试使用 jQuery。报告参数呈现在带有classsqlrv-ParameterContainer 的div 标记下的表格中。编写一个 jQuery 或 JavaScript 函数,从这个 div 中提取完整的 innerHTML 即。表格内容,然后提取表格行信息,如<label> 或<input> 标签。
使用<table><tr><td>{extracted sections}</td><td></td></tr></table> 创建您想要的表结构,或者根据您的要求来创建...
然后只需附加这个新的 HTML 结构来代替原来的默认结构。
在 jQuery 中会像
$(".sqlrv-ParameterContainer").html();
这将为您提供参数内部的整个表结构。使用 XML 解析并获取输入控件和所有内容。按原样提取这些控件,不要更改任何内容。
$(".sqlrv-ParameterContainer table").remove(); // it will remove the SSRS rendered default table from DOM
$(".sqlrv-ParameterContainer table").appendChild('<table><tr>......</tr></table>'); // Append your custom html structure here....
这是我很快想到的事情......我建议你测试一下...... :)
【讨论】:
这对 SSRS-2008 的 OP 没有帮助,但如果它有助于其他人 - 微软在 SSRS 2016 中对此进行了改进 - 现在可以通过 Report Builder / Visual Studio 中的 GUI 轻松管理参数:
【讨论】: