【问题标题】:hide columns dynamically in rdlc report在 rdlc 报告中动态隐藏列
【发布时间】:2011-06-22 10:01:28
【问题描述】:

我们如何在 MVC 2 的 rdlc 报告中动态隐藏列?

是否可以使用外部参数?我们如何以编程方式控制 rdlc 报告中列的可见性?

【问题讨论】:

    标签: c# asp.net-mvc-2 rdlc


    【解决方案1】:

    您不想使用Hidden 属性,您实际上想选择列,右键单击并选择Column Visibility。进入此处后,您可以使用表达式根据参数设置可见性,如下所示:

    = iif(Parameters!column_visible.Value = 1, false, true)
    

    Hidden 在这种情况下不起作用,因为当您选择文本框之类的内容时,您实际上并没有将其应用于对象。

    【讨论】:

    • 如果使用 Hidden 的属性表达式,并且右侧的列数较多,则中间会保留空白。谢谢@MrEdmundo!
    • @RamonAraujo,嘿,当您隐藏列时,您找到解决空白问题的方法了吗?
    【解决方案2】:

    以下是隐藏列的步骤

    1) 在您的报告中添加一个名为 column_visible 的布尔参数

    2) 右键单击​​所需列并选择列可见性。

    3) 选择“根据表达式显示或隐藏”选项

    4) 添加以下公式

    = iif(Parameters!column_visible.Value = "True", false,true)
    

    5) 在 c# 文件中添加以下代码,为上面添加的参数赋值

    ReportParameter[] parameters = new ReportParameter[1];
    if (condition)
    {
       parameters[0] = new ReportParameter("column_visible", "True");
    }
    else
    {
     parameters[0] = new ReportParameter("column_visible", "False");
    }          
    this.reportViewer1.LocalReport.SetParameters(parameters);
    

    【讨论】:

    • 你为什么使用字符串,为什么不只比较 iif 语句中的布尔值呢?你不可能在这里需要c#。
    • 闪电解决方案.. 谢谢。
    【解决方案3】:

    选择一列。在属性中,您有 Hidden。财产。然后你可以设置一个条件,例如=Parameters!IsColumnHidden.Value

    如果您想从 C# 代码中执行此操作,我会向报告发送一个参数(如上所示),说明是否应隐藏列。

    【讨论】:

      猜你喜欢
      • 2018-11-14
      • 1970-01-01
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多