在 jsff 文件中,已经设计了一个组件,并且正在从静态 VO 中获取值。静态 Vo 中只有两个值。我需要将第一个选项设置为默认值。但是正在设置一个空值。我写了一个条件来禁用它。当它被禁用时,该值必须设置为第一个。
我尝试过 List UI Hints 并尝试启用 Include No selection item: Labeled Item first of list,我尝试创建一个只有一个值的新 vo 并在 Jsff 中呈现它(但它会使代码更多复杂的未来发展)我曾尝试创建切换器。但他们都没有按预期工作。
任何人都可以向我建议一种替代方案,其中代码复杂性不会增加,并且默认情况下选择了第一个值。如果jsff中有disable标签的条件为真则disable。
PS:一旦该字段被禁用,第一个值必须是默认设置的默认值。
答案 0 :(得分:1)
在不向视图对象添加代码的情况下,似乎没有任何默认方法可以使用 Oracle ADF 执行此操作。以下是在 ADF LOV 中自动选择第一个值的方法(详情见此处 https://cedricleruth.com/autoselect-first-value-in-adf-lov-inside-a-table/):
public String defaultNextStatus() {
String value = (String) getAttributeInternal(AttributesEnum.NextStatus.index());
if (value == null) {
XxcrWorkflowUvVORowImpl nextStatut = (XxcrWorkflowUvVORowImpl) getWfkVA().first();
//Wkfva is the VO of the LOV
if (nextStatut != null) {
return nextStatut.getTxtValeur();
}
}
return value;
}