Отключить элемент внутри поля со списком SAPUI5 - PullRequest
0 голосов
/ 22 октября 2018

У меня есть поле со списком, скажем, 2 элемента.

один элемент имеет соответствующие данные для отчета, а другой нет.

Как бы я выделил серым цветомнежелательный элемент в поле со списком?

Я могу выделить все поле со списком серым цветом, но я не уверен, как выделить элементы внутри поля со списком (это поле со списком заполняется вызовом ODATA).

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Вы можете использовать свойство enabled из sap.ui.core.Item .Обновите 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 
  }
});
0 голосов
/ 23 октября 2018

Вы можете установить элементы поля со списком на отключенные следующим образом:

Хотите отключить выбранный элемент из списка поля со списком:

this.getView().byId("idOfYourComboBox").getSelectedItem().setEnabled(false);

На основе индексаэлементы в списке.

this.getView().byId("idOfYourComboBox").getItems()[1].setEnabled(false);

Кроме того, вы можете сделать то же самое, основываясь на ключе, например:

this.getView().byId("idOfYourComboBox").getItemByKey("keyName")

Дайте мне знать, если это поможет.

...