动态窗口
可以根据 Web Access 或 Ivanti Workspaces 中窗口上其他位置选择的值来动态地设置此窗口中的字段是必填、只读还是隐藏。
使用的示例包括:
- 当选中特定“类别”或“用户”时,则显示额外字段
- 如果选中了特定的“紧急度”,则使某个字段成为必填
- 如果选中了“公司外部”复选框,则使“位置”字段可供编辑
动态窗口仅可用于 Web Access 和 Ivanti Workspaces,并使用添加到“对象设计器”中的属性的计算进行设计。已为这些窗口计算可用的计算编辑器添加了新的窗口函数。稍后将提供并介绍示例计算(请参阅示例窗口计算),此外也可以从 Ivanti 社区网站获取。
有关创建计算与使用计算编辑器的详细信息,请参阅计算。
“窗口函数”为:
:SetMandatory(属性,真/假)(将属性设置为必填或非必填)
:SetReadOnly(属性,真/假)(将属性设置为只读或可编辑)
(其中,属性是要对其应用函数的字段的名称)
如果组框中的所有字段均被设为隐藏,则组框本身也会隐藏。如果某个隐藏组框中的有一个字段被设为可见,则组框也会变为可见。
在“对象设计器”中的对象级别上被设为必填的属性无法使用窗口函数来设为非必填。
这些计算仅适用于 Web Access 和 Ivanti Workspaces。它们不能用于操纵控制台中的窗口。
规划窗口设计
用于控制这些窗口属性的计算需要向窗口添加三个属性:
- 触发属性 – 更改此属性时将运行计算;此外,还必须在“窗口管理器”中将此属性的变更时计算属性设置为真,并添加到计算编辑器的依赖性窗格
- 目标属性 – 根据计算结果进行更改的属性
- 计算属性 – 存储计算的窗口对象的字符串属性
为了有助于识别窗口计算的目标属性和触发属性,可以按照以下格式编写计算需求:
当 <触发字段> 设置为 <值> 时,我要把 <目标字段> 的 <属性> 改为 <真/假>。
例如,如果您希望在事件的类别设置为硬件时显示 CI 字段,那么可以写为:
当类别设置为硬件时,我要把 CI 字段的 SetHidden 属性改为假。
在以上示例中,您可以看到:触发属性为类别,目标属性为 CI,您要使用的窗口函数为 :SetHidden(,)。您要将 :SetHidden(,) 的值设置为假,因为您不希望隐藏 CI 字段。
您可以动态更新的目标属性为:
- 日期和时间控件
- 下拉列表
- 类别列表
- 文本和数字字段
通过更改以下对象可以触发计算:
- 日期选择器控件
- 布尔值(复选框和下拉菜单)
- 下拉列表
- 类别列表
尽管这些属性必须出现在窗口中,但如果需要,可以通过在“窗口管理器”中将 ShowOnWindow 属性设置为假来隐藏它们。在设计动态窗口时,如果使计算属性显示在窗口中,可以帮助您设计和调试计算,之后在窗口上线时可以隐藏它。
以下是使用窗口计算的规则。在单个窗口设计中,可以使用:
- 多个计算属性来更新多个不同的目标属性
- 一个通过单个触发属性来更新多个目标属性的计算
- 一个通过多个触发属性来更新多个目标属性的计算
但是,请不要使用:
- 多个计算属性来更新相同的目标属性
此段落中说明这些规则的原因,但是只要遵循上述给定的规则,就无需阅读此段落。打开窗口以及更改触发器属性时,会运行窗口中的所有窗口计算。这确保在打开窗口时,其中显示的数据是正确的。但是,您无法控制打开窗口时运行计算的顺序。这意味着需要确保每个目标属性都仅通过一个计算来更新,否则在打开窗口时,计算将产生无法预测的结果。您可以创建使用多个来源属性更新单个目标属性的计算,或者创建一个能够更新多个目标的计算,但无法设计对于每个目标属性均具有多个计算的窗口。