2015-10-15 54 views
2

我正在使用vb.net和reportviewer生成報告。 我需要以編程方式隱藏一行,具體取決於是否選中複選框。 (簡單的if語句)。在報告中以編程方式隱藏/顯示行

我該如何稱呼這個? 如何引用reportviewer的線元素? 我如何告訴它隱藏/顯示?

預先感謝您

+0

是對複選框升之前檢查提交報告?或者一旦生成報告,它就是一個嵌入式複選框? – equisde

+0

@equisde在加載報告之前檢查過 –

回答

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) 
+0

非常感謝。這工作。非常具有描述性和樂於助人 –

+0

你是我們的!樂意效勞 – equisde

相關問題