我有一个项目列表。点击后,我想打开一个新的对话框并将其绑定到有关点击项目的一些详细信息。动态数据绑定对话框
我的数据源是一个带有OData接口的SAP HANA数据库。界面看起来像:
Table/Path: Items
|ID|NAME|PRICE|ITEM_DETAILS (Navigation Property)|
Table/Path: ItemsDetails
|ID|ITEM_ID|...|
该列表具有绑定到Items
,它工作正常。点击一下,我想将我的对话框绑定到导航属性ITEM_DETAILS
,但新绑定不起作用。该对话框仍然绑定/显示为“旧”路径Items
而不是ItemsDetails
。
对话片段:
<core:FragmentDefinition
xmlns="sap.m"
xmlns:core="sap.ui.core">
<SelectDialog
id="detailInformation"
noDataText="No data..."
title="{item}">
<StandardListItem
title="{ID}"
description="{FREQUENCY}"
type="Active" />
</SelectDialog>
</core:FragmentDefinition>
的事件处理程序:
if (!this.selectLoadProfile) {
this.selectLoadProfile = sap.ui.xmlfragment(this.getView().getId(), "de.xxx.view.fragment.Dialog", this);
this.getView().addDependent(this.selectLoadProfile);
this.selectLoadProfile.bindElement("ITEM_DETAILS");
}
this.selectLoadProfile.open();
谁能告诉我怎么可以动态加载数据?
好吧,现在我走对了。但细节仍然是错误的。绑定不想更新。如果我使用'..getModel()。refresh()',只有“父”视图刷新。它看起来好像片段完全在控制之外.. – Tobias
您是否通过setDefaultBindingMode(sap.ui.model.BindingMode.TwoWay)将您的ODataModel bindingMode设置为ToWay? – Allen
是的,现在我有...;)但问题仍然存在。我找到了Chrome的UI5 Inspector,发现bindingContext为空,而我的工作列表有一个bindingContext ..可能是问题吗? – Tobias