动态窗口

可以根据 Web Access 或 Ivanti Workspaces 中窗口上其他位置选择的值来动态地设置此窗口中的字段是必填、只读还是隐藏。

使用的示例包括:

  • 当选中特定“类别”或“用户”时,则显示额外字段
  • 如果选中了特定的“紧急度”,则使某个字段成为必填
  • 如果选中了“公司外部”复选框,则使“位置”字段可供编辑

动态窗口仅可用于 Web Access 和 Ivanti Workspaces,并使用添加到“对象设计器”中的属性的计算进行设计。已为这些窗口计算可用的计算编辑器添加了新的窗口函数。稍后将提供并介绍示例计算(请参阅示例窗口计算),此外也可以从 Ivanti 社区网站获取。

有关创建计算与使用计算编辑器的详细信息,请参阅计算

“窗口函数”为:

:SetHidden(属性真/假(显示或隐藏属性)

:SetMandatory(属性真/假(将属性设置为必填或非必填)

:SetReadOnly(属性真/假(将属性设置为只读或可编辑)

(其中,属性是要对其应用函数的字段的名称)

如果组框中的所有字段均被设为隐藏,则组框本身也会隐藏。如果某个隐藏组框中的有一个字段被设为可见,则组框也会变为可见。

在“对象设计器”中的对象级别上被设为必填的属性无法使用窗口函数来设为非必填。

这些计算仅适用于 Web Access 和 Ivanti Workspaces。它们不能用于操纵控制台中的窗口。

规划窗口设计

用于控制这些窗口属性的计算需要向窗口添加三个属性:

  • 触发属性 – 更改此属性时将运行计算;此外,还必须在“窗口管理器”中将此属性的变更时计算属性设置为,并添加到计算编辑器的依赖性窗格
  • 目标属性 – 根据计算结果进行更改的属性
  • 计算属性 – 存储计算的窗口对象的字符串属性

为了有助于识别窗口计算的目标属性和触发属性,可以按照以下格式编写计算需求:

<触发字段> 设置为 <值> 时,我要把 <目标字段><属性> 改为 <真/假>

例如,如果您希望在事件的类别设置为硬件时显示 CI 字段,那么可以写为:

类别设置为硬件时,我要把 CI 字段的 SetHidden 属性改为

在以上示例中,您可以看到:触发属性为类别,目标属性为 CI,您要使用的窗口函数:SetHidden(,)。您要将 :SetHidden(,) 的值设置为,因为您希望隐藏 CI 字段。

您可以动态更新的目标属性为:

  • 日期和时间控件
  • 下拉列表
  • 类别列表
  • 文本和数字字段

通过更改以下对象可以触发计算:

  • 日期选择器控件
  • 布尔值(复选框和下拉菜单)
  • 下拉列表
  • 类别列表

尽管这些属性必须出现在窗口中,但如果需要,可以通过在“窗口管理器”中将 ShowOnWindow 属性设置为来隐藏它们。在设计动态窗口时,如果使计算属性显示在窗口中,可以帮助您设计和调试计算,之后在窗口上线时可以隐藏它。

以下是使用窗口计算的规则。在单个窗口设计中,可以使用:

  • 多个计算属性来更新多个不同的目标属性
  • 一个通过单个触发属性来更新多个目标属性的计算
  • 一个通过多个触发属性来更新多个目标属性的计算

但是,请不要使用:

  • 多个计算属性来更新相同的目标属性

此段落中说明这些规则的原因,但是只要遵循上述给定的规则,就无需阅读此段落。打开窗口以及更改触发器属性时,会运行窗口中的所有窗口计算。这确保在打开窗口时,其中显示的数据是正确的。但是,您无法控制打开窗口时运行计算的顺序。这意味着需要确保每个目标属性都仅通过一个计算来更新,否则在打开窗口时,计算将产生无法预测的结果。您可以创建使用多个来源属性更新单个目标属性的计算,或者创建一个能够更新多个目标的计算,但无法设计对于每个目标属性均具有多个计算的窗口。