<< 点击显示目录 >> 主页 mappView帮助助手 > mappView入门简单Wiki > 将内容动态加载到内容控件(仪表板)中 Load content dynamically into content control (Dashboard) |
•Automation Studio 4.4
•mappView 5.4
-->此案例<-- 展示了如何创建动态仪表板以显示来自可选组件的信息。 在此示例中,机器有 4 个驱动器,它们都具有相同的信息。 由于驱动器是可选的,因此每个驱动器都可以在起始页上启用或禁用。 示例页面包含 4 个在页面加载时动态填充的内容控件。 如果内容可见,则 OPC 变量会存储信息。
•添加新页面并定义布局
•创建多个切换按钮以启用或禁用仪表板项目
•将切换按钮连接到存储信息的 OPC 变量(如果项目可见)
•添加第二个页面并定义布局
•添加 分组框并在每个分组框内添加一个内容控件
•为每个内容控件添加一个内容文件
•创建事件绑定以在内容之间切换
主要工作由“start.eventbinding”中的事件绑定代码完成。 加载示例页面时,事件绑定会检查每个 OPC 变量以查看内容是否应该可见。 然后事件处理程序比较页面名称和 OPC 变量并加载或卸载内容。
<?xml version="1.0" encoding="utf-8"?>
<EventBindingSet id="eventbindingStart" xmlns="http://www.br-automation.com/iat2014/eventbinding/v2" xmlns:types="http://www.br-automation.com/iat2015/widgetTypes/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Bindings>
<!-- Load content for each field when page sample is loaded />-->
<EventBinding>
<Source xsi:type="clientSystem.Event" event="ContentLoaded" />
<!-- Read data points to check if content should be visible />-->
<Operand name="ContentIsVisible1" datatype="BOOL">
<ReadTarget xsi:type="opcUa.NodeAction.Read" refId="::AsGlobalPV:Motor[1].IsVisible" >
<Method xsi:type="opcUa.NodeAction.GetValue" />
</ReadTarget>
</Operand>
<Operand name="ContentIsVisible2" datatype="BOOL">
<ReadTarget xsi:type="opcUa.NodeAction.Read" refId="::AsGlobalPV:Motor[2].IsVisible" >
<Method xsi:type="opcUa.NodeAction.GetValue" />
</ReadTarget>
</Operand>
<Operand name="ContentIsVisible3" datatype="BOOL">
<ReadTarget xsi:type="opcUa.NodeAction.Read" refId="::AsGlobalPV:Motor[3].IsVisible" >
<Method xsi:type="opcUa.NodeAction.GetValue" />
</ReadTarget>
</Operand>
<Operand name="ContentIsVisible4" datatype="BOOL">
<ReadTarget xsi:type="opcUa.NodeAction.Read" refId="::AsGlobalPV:Motor[4].IsVisible" >
<Method xsi:type="opcUa.NodeAction.GetValue" />
</ReadTarget>
</Operand>
<!-- Load content for each field when page sample is loaded and content is set to visible />-->
<EventHandler condition="contentId="contentSample" AND ContentIsVisible1=true" >
<Action>
<Target xsi:type="widgets.brease.ContentControl.Action" contentRefId="contentSample" widgetRefId="ContentControl1">
<Method xsi:type="widgets.brease.ContentControl.Action.LoadContent" contentId="contentDyn1"/>
</Target>
</Action>
</EventHandler>
<EventHandler condition="contentId="contentSample" AND ContentIsVisible1=false" >
<Action>
<Target xsi:type="widgets.brease.ContentControl.Action" contentRefId="contentSample" widgetRefId="ContentControl1">
<Method xsi:type="widgets.brease.ContentControl.Action.UnloadContent" />
</Target>
</Action>
</EventHandler>
<EventHandler condition="contentId="contentSample" AND ContentIsVisible2=true" >
<Action>
<Target xsi:type="widgets.brease.ContentControl.Action" contentRefId="contentSample" widgetRefId="ContentControl2">
<Method xsi:type="widgets.brease.ContentControl.Action.LoadContent" contentId="contentDyn2"/>
</Target>
</Action>
</EventHandler>
<EventHandler condition="contentId="contentSample" AND ContentIsVisible2=false" >
<Action>
<Target xsi:type="widgets.brease.ContentControl.Action" contentRefId="contentSample" widgetRefId="ContentControl2">
<Method xsi:type="widgets.brease.ContentControl.Action.UnloadContent" />
</Target>
</Action>
</EventHandler>
<EventHandler condition="contentId="contentSample" AND ContentIsVisible3=true" >
<Action>
<Target xsi:type="widgets.brease.ContentControl.Action" contentRefId="contentSample" widgetRefId="ContentControl3">
<Method xsi:type="widgets.brease.ContentControl.Action.LoadContent" contentId="contentDyn3"/>
</Target>
</Action>
</EventHandler>
<EventHandler condition="contentId="contentSample" AND ContentIsVisible3=false" >
<Action>
<Target xsi:type="widgets.brease.ContentControl.Action" contentRefId="contentSample" widgetRefId="ContentControl3">
<Method xsi:type="widgets.brease.ContentControl.Action.UnloadContent" />
</Target>
</Action>
</EventHandler>
<EventHandler condition="contentId="contentSample" AND ContentIsVisible4=true" >
<Action>
<Target xsi:type="widgets.brease.ContentControl.Action" contentRefId="contentSample" widgetRefId="ContentControl4">
<Method xsi:type="widgets.brease.ContentControl.Action.LoadContent" contentId="contentDyn4"/>
</Target>
</Action>
</EventHandler>
<EventHandler condition="contentId="contentSample" AND ContentIsVisible4=false" >
<Action>
<Target xsi:type="widgets.brease.ContentControl.Action" contentRefId="contentSample" widgetRefId="ContentControl4">
<Method xsi:type="widgets.brease.ContentControl.Action.UnloadContent" />
</Target>
</Action>
</EventHandler>
</EventBinding>
</Bindings>
</EventBindingSet>