我们如何在MVC 2中的rdlc报告中动态隐藏列?
是否可以使用外部参数来实现?我们如何以编程方式控制rdlc报告中列的可见性?
我们如何在MVC 2中的rdlc报告中动态隐藏列?
是否可以使用外部参数来实现?我们如何以编程方式控制rdlc报告中列的可见性?
你不需要使用Hidden
属性,实际上你需要选择该列,右键单击并选择列可见性
。一旦在此处,您可以使用表达式根据参数设置可见性,例如:
= 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#代码中执行此操作,我会向报表发送一个参数(如上所述),以指示是否应隐藏列。