【发布时间】:2011-06-22 10:01:28
【问题描述】:
我们如何在 MVC 2 的 rdlc 报告中动态隐藏列?
是否可以使用外部参数?我们如何以编程方式控制 rdlc 报告中列的可见性?
【问题讨论】:
标签: c# asp.net-mvc-2 rdlc
我们如何在 MVC 2 的 rdlc 报告中动态隐藏列?
是否可以使用外部参数?我们如何以编程方式控制 rdlc 报告中列的可见性?
【问题讨论】:
标签: c# asp.net-mvc-2 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# 代码中执行此操作,我会向报告发送一个参数(如上所示),说明是否应隐藏列。
【讨论】: