我们正在使用Installer 6.1.6。 今天我们支持SQL服务器身份验证,我希望添加 Windows身份验证模式的新功能。
我们的数据库配置设置为配置表单,我想添加一个新的组合框表单组件,其中包括2个服务器身份验证选项。
是否可以仅为Windows操作系统定义带有条件表达式的组合框的 Windows身份验证选项? (为Linux用户显示它没有意义)
部分表单组件是“username”& “密码”。如果用户选择 Windows身份验证模式,则这些字段不再相关。在这种情况下是否可以隐藏它们?
使用完全模式运行安装程序时,组合框选项是否会导致冲突?是否将第一个选项设为默认选项?
答案 0 :(得分:2)
是否可以定义组合框的Windows身份验证选项 仅适用于Windows操作系统的条件表达式? (它没有做到 感觉为Linux用户显示它)
您可以设置"下拉列表条目" "下拉列表的属性"将组件转换为包含字符串数组的安装程序变量:
${installer:authenticationOptions}
在表单的预激活脚本中,您可以使用以下代码设置变量:
List<String> options = new ArrayList<>();
options.add("One");
options.add("Two");
if (Util.isWindows()) {
options.add("Three");
}
context.setVariable("authenticationOptions", options.toArray(new String[0]));
某些表单组件是&#34; username&#34; &安培; &#34;密码&#34 ;.如果是 用户选择Windows身份验证模式这些字段不是 相关的。在这种情况下是否可以隐藏它们?
是的,通过禁用&#34;选择更改脚本中的组件&#34;属性如下:
// to disable
formEnvironment.getFormComponentById("123").setEnabled(!selectedItem.equals("Windows authentication"));
// or to hide
formEnvironment.getFormComponentById("123").setVisible(!selectedItem.equals("Windows authentication"));
运行安装程序时,组合框选项是否会导致冲突? 有一个很好的模式?
默认情况下,选择第一个索引。这可以通过&#34;最初选择的索引&#34;进行配置。 &#34;下拉列表的属性&#34;表单组件。
替代解决方案:
我会考虑使用&#34;单一单选按钮&#34;表单验证选项的组件。它们都绑定到相同的变量名称,以便形成一个组并具有与下拉列表相同的效果。使用&#34;可见性脚本&#34;属性可以隐藏一些选项,具体取决于操作系统,例如
Util.isWindows()
和选项仅在Windows上可见。使用&#34;耦合表单组件&#34;在配置区域中的选项卡中,您可以根据选择选择禁用或启用的其他表单组件。