我开发了一个主细节应用程序。在细节视图中,我使用的是一个DynamicPage,在内容中,我使用的是一个包含3个项的IconTabBar元素。每个项目都是一个具有Smartform的不同片段。
主视图正在从一个(MasterEntity)加载数据。
Detail视图使用实体MasterEntity中的一些字段。
片段1:正在使用DetailEntitySet
片段2:正在使用DetailEntitySet
片段3:正在使用DetailEntitySet
基本上,当细节视图控制器检测到RouteMatch时,我在主视图上接收选定的行,并将其绑定到视图详细信息。完成后,我将检查视图是否生成,然后调用一个方法将扩展的实体绑定到包含这3个片段的iconTabBar元素。守则如下:
function _onRoutePatternMatched(event) {
if (event.getParameter("name") === "detail") {
var path = event.getParameter("arguments").contextPath;
if (path !== " ") {
var path2 = "/" + path;
view.bindElement(path2);
if (view) {
this._setBindingToIconTab("Master2Detail");
}
} else {
view.unbindElement();
}
}
}_setBindingToIconTab函数如下:
_setBindingToIconTab: function (sAssociation) {
view.byId("iconTabBar").bindElement(sAssociation);
}iconTabBar是我在Detail视图中分配给IconTabBar元素的ID。
问题是,当我执行它并加载第一个片段时,一切正常。对于第2和第3部分,我得到了错误(但是值显示在.)。当片段在屏幕上被选中时,我正在加载它们。如果没有生成它们,我将实例化它们并将它们存储在数组中。我所犯的错误是:
断言失败:在"ZZODATA_TEST_SRV.Master“实体类型中找不到EDM属性"DateFrom”。- sap.ui.comp.smartfield.ODataControlFactory
它在抱怨来自DetailEntitySet的字段不在MasterEntitySet中。
你能帮我一把吗?
发布于 2021-05-26 09:15:33
由于没有XML、运行示例等,所以我无法告诉您为什么会发生此错误,但是..
最佳实践是biind还可以在详细视图中查看所选实体,并展开到细节等。
MasterEntitySet->DetailEntitySet由于绑定被传播到子节点,因此不需要再次绑定iconTabBar。数据已经在那里了。我也不知道你的情况,但大多数服务都是这样的
MasterEntitySet->DetailEntitySet->DataVariantA(ForIconTab1)
->DataVariantB(ForIconTab2)
->DataVariantC(ForIconTab3)在V4中,详细代码如下所示
oView.bindObject({
path: "/MasterEntity(" + this._args.ID + ")",
parameters: {
$expand:`DetailEntityNavPath($expand=DataVariantANavPath()...`
},
events: {
dataReceived: (oEvent) => {...https://stackoverflow.com/questions/67683268
复制相似问题