我有一个带有2个项目的组合框。
其中一项具有要报告的相关数据,而另一项则没有。
我如何将组合框中的不需要的项目涂成灰色?
我可以将整个组合框显示为灰色,但是我不确定如何将组合框内的项目显示为灰色(此组合框由ODATA调用填充)。
答案 0 :(得分:2)
您可以使用sap.ui.core.Item的属性enabled
。
更新了您的oData,并添加了另一个boolean
之类的isRelevant
属性,该属性指示启用/禁用了哪个项目。
XML视图
<ComboBox items="{path: '/YourBindingPath'}">
<core:Item key="{key}" text="{text}" enabled="{enabledProperty}" />
</ComboBox>
JS视图
var oItemTemplate = new sap.ui.core.ListItem({
key: "{key}",
text: "{text}",
enabled: "{enabledProperty}"
});
var oComboBox = new sap.m.ComboBox({
items: {
path: "/YourBindingPath",
template: oItemTemplate
}
});
答案 1 :(得分:0)
您可以将组合框的项目设置为禁用,如下所示:
要禁用组合框列表中的所选项目:
@attributes
基于列表中各项的索引。
this.getView().byId("idOfYourComboBox").getSelectedItem().setEnabled(false);
此外,您还可以根据以下密钥执行相同的操作:
this.getView().byId("idOfYourComboBox").getItems()[1].setEnabled(false);
让我知道这是否有帮助。