#sapui5
#sapui5
Вопрос:
Проблема
В настоящее время я работаю над представлением, содержащим таблицу. Один из столбцов представляет собой относительную временную метку последнего обновления элементов в таблице (последнее обновление: 6 секунд назад), используя
<Text text="{
path: 'lastUpdate',
type: 'sap.ui.model.type.DateTime',
formatOptions: {
source: {pattern: 'yyyy-MM-ddTHH:mm:ss.SSSZZZZ'},
relative: true,
relativeScale: 'auto'
}
}"/>
До сих пор я передавал текущую модель из серверной части с каждым запросом get, поэтому представление всегда обновлялось вместе с моделью при каждом обновлении. Однако, чтобы сэкономить пропускную способность, я решил поместить If-Modified-Since
условие в вызов, чтобы серверная часть отправляла мне модель только в том случае, если она действительно была обновлена с момента последнего вызова, в противном случае она возвращает 304.
Однако проблема, с которой я сталкиваюсь сейчас, заключается в том, что, поскольку модель больше не заменяется, представление в равной степени не обновляется, и самое последнее событие будет зависать, например. «Последнее обновление: 15 секунд назад» в течение нескольких минут; пока не появится новое обновление.
Вопрос
Я ищу функцию, которая сообщает представлению (или даже просто таблице или конкретному столбцу) обновить его содержимое в соответствии с новым текущим временем, даже если базовые данные не изменились.
До сих пор я нашел и попробовал
that.byId("myTable").getBinding("items").refresh();
но это ничего не дало, я полагаю, потому что он все еще распознал, что данные не изменились.
Редактировать: следуя принятому ответу, вызов that.getView().getModel().refresh(true);
действительно дал ожидаемые результаты.
Ответ №1:
Вы пытались использовать .refresh(true)
Демонстрация DemoKit для привязки sap.ui.model.odata.v2.odatalist:
refresh(bForceUpdate?, sGroupId?) : void
с bForceUpdate, означающим «Обновить связанный элемент управления, даже если данные не были изменены»
Комментарии:
1. Я безуспешно пытался обновить привязку таблицы, но вызов
.refresh(true);
модели представления вместо таблицы работал так, как предполагалось.