我会尽量简化情况。
我有一个ActiveReports子报表,它有一个控件,我使用FetchData事件填充该控件。有时我需要隐藏控件,如果它是空白的,或者在这个感应器中,值是棉花,但是聚酯应该出现。问题是,当我隐藏一个控件时,它会隐藏报表中每个事件的控件,而不仅仅是一个需要的实例。我是不是做错了什么。
我在InitializeReport中定义了控件
Material1 = DirectCast(Detail.Controls("Material1"), Label)
Material2 = DirectCast(Detail.Controls("Material2"), Label)我为DataInitialize事件中的控件设置了数据字段
Fields.Add("Material1")
Fields.Add("Material2")在FetchData事件中,我填充了该控件,因此三个记录,该控件得到了适当的填充。没什么不对的。如果第二个记录有一个值,那么就可以了。例如:
第一次记录,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#解决方案。
发布于 2016-03-03 00:51:05
您需要向您添加其他内容,如果或替换为
Material1.Visible = Not (Fields("Material1").Value = "Cotton")这样,它就会根据值打开或关闭。当您为整个控件在实例上设置属性时,子报表只有一个实例,而不是每个细节的一个实例。
希望这能有所帮助。
https://stackoverflow.com/questions/35753530
复制相似问题