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

时间:2015-10-15 06:52:34

标签: vb.net visual-studio-2013 rdlc reportviewer

我正在使用vb.net和reportviewer生成报告。 我需要以编程方式隐藏一行,具体取决于是否选中了复选框。 (一个简单的if语句)。

我该怎么称呼它? 如何参考reportviewer的line元素? 我怎么告诉它隐藏/显示?

提前谢谢

1 个答案:

答案 0 :(得分:3)

如果在加载报告之前勾选/取消勾选该复选框,则最简单的方法是使用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菜单并选择Report Parameters

要与代码保持一致,您应添加名为CheckBoxValue的参数,然后点击OK关闭窗口。

最后在您的.rdlc报告设计器中,您应该选择文本框或标签并使用表达式编辑器(右键单击要显示/隐藏的文本框/标签并选择Expression

在这里,您需要根据以下逻辑编写表达式:

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

这可能是表达式:

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