我们如何在MVC 2中的rdlc报告中动态隐藏列?
是否可以使用外部参数?我们如何以编程方式控制rdlc报告中列的可见性?
答案 0 :(得分:24)
您不想使用Hidden
属性,实际上您想要选择列,右键单击并选择Column Visibility
。进入此处后,您可以使用表达式根据参数设置可见性,如下所示:
= iif(Parameters!column_visible.Value = 1, false, true)
Hidden
在这个实例中不起作用,因为实际上并没有将它应用于像您选择文本框之类的对象一样。
答案 1 :(得分:13)
以下是隐藏列的步骤
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);
答案 2 :(得分:0)
选择一列。在属性中,您有Hidden
。属性。然后,您可以设置条件,例如=Parameters!IsColumnHidden.Value
。
如果您想从C#代码执行此操作,我会向报告发送一个参数(如上所述),说明是否应该隐藏列。