2016-03-02 86 views
0

我會盡量簡化情況。隱藏ActiveReports中的詳細信息部分的單個控件

我有一個ActiveReports子報表,它有一個我使用FetchData事件填充的控件。有時我需要隱藏控制,如果它的空白或在這個場合的價值是棉花,但聚酯應該出現。問題是,當我隱藏一個控件時,它隱藏了報表中每個事件的控件,而不僅僅是一個需要的實例。有什麼我做錯了嗎?

我定義InitializeReport

Material1 = DirectCast(Detail.Controls("Material1"), Label) 
Material2 = DirectCast(Detail.Controls("Material2"), Label) 

控制我的DataInitialize事件

Fields.Add("Material1") 
Fields.Add("Material2") 

在FetchData事件建立數據場的控制,我填的是控制,使三個記錄,該控件得到適當填充。沒有錯。如果第二個記錄有一個值,那很好。例如

1st Record,首次調用FetchData事件。

Fields("Material1").Value = "Polyester" 
Material1.Value = "Polyester" 
Fields("Material2").value = "Wool" 
Material2.Value = "Wool" 

第二記錄,該FetchData事件的第二個電話。

Fields("Material1").Value = "Cotton" 
Material1.Value = "Cotton" 
Fields("Material2").Value = "Wool" 
Material2.Value = "Wool" 

如果我想隱藏不被看到,控制被填充後,我躲在Details_Format事件的控件第二個記錄/控制,但是,它會隱藏所有三種材料的控制,而不僅僅是一個單獨的實例。我可能做錯了什麼?

If Fields("Material1").value = "Cotton" then 
    Material1.Visible = false 
End if 

我想要羊毛出現兩次,在兩個記錄,但棉花不出現在第二個分組。我無法隱藏棉花控制。我不想簡單地清空Material1,因爲我需要隱藏控件,以便我可以移動控件並重新組織報表。在Material1旁邊有一個標籤,以及Material1。

請使用VB或C#解決方案。

+0

也許每次啓動控件的新實例? – Claudius

回答

0

您需要再次添加到您若或

Material1.Visible = Not (Fields("Material1").Value = "Cotton") 

替換方式,打開或關閉基於價值。當您將屬性設置爲整個控件的實例時,子報表只有一個實例,而不是每個細節。

希望這有助於。

+0

謝謝,即使打開時也沒有想到明確設置可見性。只是假定它一直是開着的,你只能關掉。 – MiscellaneousUser

相關問題