我的SSRS报告包含7个输入参数,在运行我的报告时,参数的大小(即长度)正在增加。
我的一个输入参数(下拉列表)可能包含100个字符,因此大小不是常数,但我想将所有参数放在2行或3行(连续)中。
现在每行有2个参数
请咨询
答案 0 :(得分:8)
正如gbn所说,改变内置报表服务器呈现参数的方法并不容易。 SSRS喜欢总是每行使用两个参数,按照报表中存在的顺序显示(必须与依赖顺序匹配)。
所以Gbn提到的替代方案:两者都涉及构建“包装”应用程序:一些自定义代码或一个您可以编码的网页,但是您希望获得参数。然后,您可以通过代码或通过带有参数的格式化URL来调用Reporting Services。报告可以显示在框架,新窗口中,也可以作为流传递到您想要的位置。
URL访问非常简单可靠:我经常手动(创建“收藏夹”)或代码使用它。
http://msdn.microsoft.com/en-us/library/ms153586.aspx
对于您正在寻找的内容,这些内容可能比您预期的要多,但它们对您的界面非常灵活。
杰米
答案 1 :(得分:5)
您当然可以这样做,只需右键单击解决方案资源管理器中的RDL文件并选择查看代码即可。然后根据您想要定位的位置在<ReportParameter Name="Nameofparameter">
下移动名为<ReportParameters>
的XML标记。然后保存它。多数民众赞成!!!
报告参数浮动的值为2,所以如果你有4个报告参数,那么它将显示为1,2下一行3,4。祝你好运!!
答案 2 :(得分:4)
使用ASP.NET作为参数,使用ReportViewer控件或URL进行渲染。严重。
我不知道以任何方式呈现参数的任何选项其他然后默认
答案 3 :(得分:1)
我相信你可以尝试使用jQuery。报告参数在div
标记下的表格中以class
sqlrv-ParameterContainer
呈现。编写一个jQuery或JavaScript函数,从这个innerHTML
中提取完整的div
即。表格内容,然后提取表格行信息,如<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....
这很快就出现在我的脑海里......我建议你测试一下......:)
答案 4 :(得分:0)
这不会对带有SSRS-2008的OP有所帮助,但万一它对其他人有帮助-Microsoft在SSRS 2016中对此进行了改进-现在可以通过Report Builder / Visual Studio中的GUI轻松管理参数: