我正在使用vb.net和reportviewer生成报告。 我需要以编程方式隐藏一行,具体取决于是否选中了复选框。 (一个简单的if语句)。
我该怎么称呼它? 如何参考reportviewer的line元素? 我怎么告诉它隐藏/显示?
提前谢谢
答案 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)