使用视图容器
1.概述
本文向您展示如何使用视图容器组件在当前视图中嵌入另一个仪表板、报表或其他视图。
您可以简单地从Explore窗口拖动另一个视图,也可以添加并设置一个Container组件。
相关视频:指示板组件
2.添加一个视图容器组件
对于本例,我们有一个名为Dashboard1包含一个图表,并且调整了大小以适合图表。
在编辑另一个仪表板或视图时,单击组件在工具栏中,选择容器将一个空视图容器添加到画布。
控件中拖动另一个视图(例如,Dashboard1)探索窗口嵌入到空视图容器中。
3.将视图拖到画布上
对象中拖动任何其他视图,而不是先将空视图容器添加到画布中探索窗口直接到你的画布。视图容器将被自动创建,并用于包含被拖动的视图。
例如,从中拖动记分卡探索到画布上。
去属性这是一个视图容器。
4.导航
导航交互以及其他相互作用,比如下钻可以打开不同的视图。如果您在将嵌入到另一个视图中的视图上设置此交互,则可以选择导航只在嵌入的容器中发生,而不是在整个当前窗口中发生。
要执行此操作,请设置开放选项在同一窗口或嵌入式容器中在交互对话框中。
如果希望查看器能够通过单击从外部仪表板加载视图容器中的不同视图,可以使用菜单组件来实现这一点。它的开放属性可以设置为在嵌入式视图中然后你可以设置视图容器到你的集装箱。看到如何设置菜单导航获取详细信息。
5.使用视图容器编写脚本
从Dundas BI 2.6开始,嵌入在其他视图中的视图显示在“subcanvas”容器中,而不是iframe元素中,这提高了加载性能。这可能会影响嵌入式视图中脚本的使用。
除非您使用的是最初使用Dundas BI 2.5或更老版本创建的视图容器,否则大多数使用dundas.context。*引用顶级视图及其画布的上下文,而不是嵌入式视图。如果在嵌入式视图中访问它,将返回顶层视图或画布,这可能不是您想要的。
某些与特定仪表板或视图不直接相关的特性可以安全地访问使用dundas.context,例如:
- dundas.context.currentDialogShown
- dundas.context.originalQueryString
- dundas.context.currentProjectId
- dundas.context.currentSession
- dundas.context.currentSessionId
否则,引用dundas.context的属性和方法是否应该替换这.例如:this.getService(“BaseViewService”).
为了方便,大多数情况下你可以打电话this.baseViewService为了得到BaseViewService,或this.parentView为了得到仪表板或其他视图(或者只是这在仪表板或视图的一个事件中,例如准备好了).
你可以通过转到它的视图容器来检查你拥有的是哪种视图容器属性在Actions部分找到Type属性。一个dundas.view.controls.ViewContainer是旧的基于iframe的视图容器,而较新的类型是dundas.view.controls.SubCanvasViewContainer.