如何在Guidewire Claim Center 9.0中配置多选下拉选择器?
在Guidewire Claim Center 9.0中配置基于TypeList的多选下拉选择器
1. 确认TypeList基础配置
先保证你要用的TypeList已经在TypeList.xml里正确定义,示例如下:
<TypeList name="DamageType"> <Types> <Type code="DENT" description="凹痕"/> <Type code="SCRATCH" description="划痕"/> <Type code="BROKEN" description="破损"/> </Types> </TypeList>
2. 配置实体多值字段(按需)
如果要把选中的多个选项持久化存储,得在对应实体的配置文件(比如Claim.xml)里加一个多值字段,指定关联的TypeList:
<Field name="SelectedDamages" type="typelist" typelist="DamageType" multiValued="true"/>
3. 替换屏幕组件为多选下拉
打开目标屏幕的配置文件(比如ClaimDetailScreen.xml),把原来的单选中下拉换成MultiSelectDropdown控件,绑定到字段或者设为非绑定:
<!-- 绑定实体字段的写法 --> <MultiSelectDropdown id="DamageTypes" label="损坏类型" bind="SelectedDamages"> <Options> <TypeListOptions typelist="DamageType"/> </Options> </MultiSelectDropdown> <!-- 非绑定(临时选择)的写法 --> <MultiSelectDropdown id="TempDamageTypes" label="临时损坏类型" unbound="true"> <Options> <TypeListOptions typelist="DamageType"/> </Options> </MultiSelectDropdown>
4. 后台处理选中值(按需)
如果要在屏幕处理器里获取选中的多个选项,可通过以下方式:
// 获取选中的Type代码列表 List<String> selectedCodes = getScreen().getFieldValue("DamageTypes", List.class); // 遍历处理每个选项 for (String code : selectedCodes) { DamageType type = TypelistCache.get(TypelistNames.DAMAGE_TYPE).getType(code); // 这里写你的业务逻辑 }
5. 测试验证
重启Claim Center服务,打开对应页面,按住Ctrl(Windows)或Cmd(Mac)就能多选选项,确认选中值能正确保存或被后台逻辑处理。
内容的提问来源于stack exchange,提问作者Nishanth Salian
相关产品推荐
相关产品推荐

