SAPUI5 получает контекст привязки строки за индексом - PullRequest
0 голосов
/ 26 июня 2019

В моем приложении есть таблица sap.m.table. Данные находятся в модели JSON и привязаны к таблице. В моей функции мне нужно зациклить все строки таблицы и проверить каждую видимую строку на предмет значения определенного свойства. Я могу определить видимые строки следующим образом:

sap.ui.getCore().byId("myTableId").getAggregation("items")

Однако я не смог использовать какую-то функцию, например getBindingContext, для определения значений свойств строки.

Есть подсказка, как это сделать?

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

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

Если у вас есть псевдоним в вашей локальной модели json.

sap.ui.getCore().byId("myTableId").getAggregation("items")[0].getBindingContext("<alias model name>").getObject();

Иначе, если у вас нет псевдонима в вашей локальной модели json.

sap.ui.getCore().byId("myTableId").getAggregation("items")[0].getBindingContext().getObject();

Спасибо.

0 голосов
/ 26 июня 2019

Вы не должны использовать напрямую sap.ui.getCore().byId(), но this.getView().byId(), где this - это сам контроллер.

В любом случае, каждый элемент агрегации имеет доступный контекст привязки.Это зависит от того, какое имя модели вы используете для привязки контекста.

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

sap.ui.getCore().byId("__xmlview1--idPartnerList").getAggregation("items")[0].getBindingContext().getObject()

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

this.getView().byId("idPartnerList").getAggregation("items")[0].getBindingContext().getObject()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...