如何更改报表中的SSRS输入参数位置

时间:2010-08-14 11:55:58

标签: ssrs-2008 reporting-services

我的SSRS报告包含7个输入参数,在运行我的报告时,参数的大小(即长度)正在增加。

我的一个输入参数(下拉列表)可能包含100个字符,因此大小不是常数,但我想将所有参数放在2行或3行(连续)中。

现在每行有2个参数

请咨询

5 个答案:

答案 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轻松管理参数:

https://www.intertech.com/ssrs-parameters-2016-update/