在rdlc报表中动态隐藏列

本文关键字:隐藏 动态 rdlc 报表 | 更新日期: 2023-09-27 18:00:16

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

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

在rdlc报表中动态隐藏列

您不想使用Hidden属性,实际上您想选择列,右键单击并选择Column Visibility。一旦进入这里,你就可以使用一个表达式来设置基于参数的可见性,比如:

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

Hidden在这种情况下不起作用,因为您实际上并没有像选择文本框这样的东西时那样将其应用于对象。

以下是隐藏列的步骤

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);

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

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