【问题标题】:How can I change the column order of a SQL Server Report Services report at runtime?如何在运行时更改 SQL Server Report Services 报表的列顺序?
【发布时间】:2012-03-15 17:16:14
【问题描述】:

我想在运行时更改 *.rdlc 报告的标题/列的顺序,例如基于用户偏好设置。我发现你可以让一些列不可见,但我还没有找到改变列顺序的方法。我在 ASP.NET 网页中使用 ReportViewer 控件。在这种情况下,在运行时意味着布局可以在两个页面请求期间发生变化。我在某处读到,您可以动态配置 rdlc xml 或使用 rdl 对象模型作为请求处理的一部分动态创建报告定义。

以下示例应该有望更好地解释我正在尝试做的事情:

表格或矩阵的默认报表列布局:

Date   Item   Price

在运行时动态改变列的顺序:

Item   Price   Date

【问题讨论】:

  • 如果列是从矩阵自动生成的,那么您可以按照一些逻辑对它们进行排序。如果是带有静态列的表,我认为您不能在运行时对其进行排序

标签: sql-server reporting-services reporting rdlc


【解决方案1】:

我做过类似事情的唯一方法是通过参数。

Header cell expression: =Parameters!Column1.Label
Row cell expression:    =Fields(Parameters!Column1.Value).Value

其中label 参数是列标题,值是数据集中的字段名称。因此,在您的示例中,将有 3 个列参数,所有参数的可用标签/值为DateItemPrice,更改参数将确定列内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多