在报告中以编程方式隐藏/显示行

Hide / show line programatically in report

我正在使用 vb.net 和报告查看器生成报告。 我需要根据是否选中复选框以编程方式隐藏一行。 (一个简单的 if 语句)。

如何称呼它? 如何引用报告查看器的行元素? 我如何告诉 hide/show?

提前致谢

如果复选框在加载报告之前是 ticked/unticked,最简单的方法是使用 ReportParameters

ReportParameters 允许您将值传递到您的 rdlc 报告中。加载报表后,您可以根据参数值定义报表行为。

加载报告前的代码:

'Retrieve the checkbox value
Dim isChecked as Boolean = yourCheckBox.Checked
'Create a new parameter to send to the report
Dim Parameters As New List(Of ReportParameter)
Parameters.Add(New ReportParameter("CheckBoxValue", isChecked))
'Send parameter to the report
ReportViewer.LocalReport.SetParameters(Parameters)

添加代码后,您还需要在 .rdlc 文件中定义参数。在 Visual Studio 中打开 .rdlc 文件,转到 Report 菜单和 select Report Parameters.

为了与代码保持一致,您应该添加一个名为CheckBoxValue 的参数,然后单击OK 关闭window。

最后,在您的 .rdlc 报表设计器中,您应该 select 您的文本框或标签并使用表达式编辑器(右键单击您想要 show/hide和 select Expression)

这里你需要根据这个逻辑写一个表达式:

IIf(Expression as Boolean, TruePart as Object, FalsePart as Object)

这可能是表达式:

 IIf(Parameters!CheckBoxValue.Value = False, yourTextBox.Visible = False, yourTextBox.Visible = True)