【发布时间】:2021-05-22 15:09:54
【问题描述】:
我有一个列表,绑定到来自 mainService 的实体集。同一视图包含一个过滤器字段。一旦用户输入一些过滤条件,就应该进行读取。我已经在阅读 OData 实体集,结果又回来了。但是我没有运气让表格绑定到那个结果
XML 视图中的绑定
<List
id="list"
width="auto"
class="sapFDynamicPageAlignContent"
items= "{/ItProjHeadSet}"
busyIndicatorDelay="{masterView>/delay}"
noDataText="{masterView>/noDataText}"
mode="{= ${device>/system/phone} ? 'None' : 'SingleSelectMaster'}"
growing="true"
growingScrollToLoad="true"
updateFinished=".onUpdateFinished"
selectionChange=".onSelectionChange">
然后,当点击智能过滤栏的GO按钮时,我触发onSearch事件如下:
onSearchProjects : function (oEvent) {
var oMasterPage = this.getView().byId("masterPage");
var that = this;
var aTokens = this._oMultiInput.getTokens();
var aMultiFilters = aTokens.map(function (oToken) {
var oProperties = oToken.data("range");
return new Filter({
path: oProperties.keyField,
operator: FilterOperator[oProperties.operation],
value1: oProperties.value1,
value2: oProperties.value2
});
});
oMasterPage.setBusy(true);
//Filter
this.getOwnerComponent().getModel().read("/ItProjHeadSet", {
filters: aMultiFilters,
success: function (oData) {
var list = that.getView().byId("list");
var projectModel = new JSONModel(oData);
var oModel = that.getView().getModel("/ItProjHeadSet");
oModel.setData(projectModel);
oModel.updateBindings(true);
error: function (oData) {
MessageToast.show(that.getResourceBundle().getText("noProjectsFetched"));
}
});
oMasterPage.setBusy(false);
},
然后的问题是,虽然我在读取中收到了相应的成功结果,但 setData 似乎发生在与绑定到列表的模型不同的模型上。 我是否在 Success read 中进行了正确的模型更新?
问候, 马丁
【问题讨论】:
标签: data-binding sapui5 smart-listing