【问题标题】:SAPUI5 bindAggregation from XML Model by Attribute Name来自 XML 模型的 SAPUI5 bindAggregation 按属性名称
【发布时间】:2016-09-17 12:37:35
【问题描述】:

我确实有一个如下所示的 XML 模型:

我想将 sap.m.ComboBox 控件添加到我的 UI。我想要 Member 标签中的属性 Name 的值。我可以用这段代码做到这一点:

new sap.m.ComboBox({
    items : {
        templateShareable : true,
        path : "metadata>/edmx:DataServices/edm:Schema/edm:EnumType/0/edm:Member",
        template : new sap.ui.core.ListItem({
            text: "{metadata>@Name}"
        })
    }
})

但是,我宁愿通过调用它的索引 (edm:EnumType/0/) 来选择 EnumType hard通过它的属性 Name 选择它。例如。像这样的东西会很好:

"metadata>/edmx:DataServices/edm:Schema/edm:EnumType(Name=RoleCategory)/edm:Member"

有人知道怎么做吗?任何想法都受到高度赞赏。

【问题讨论】:

    标签: javascript xml binding model sapui5


    【解决方案1】:

    路径语法中没有这样的东西。在OpenUI5 code可以看到该路径只支持

    • 属性@
    • text()
    • 标签名称的元素
    • 数组索引。

    你也不能使用元素绑定来过滤,因为元素绑定不支持过滤和排序。

    但是,您可以附加到模型 requestCompletedmetadataLoaded 事件并更新绑定路径或将数据复制到单独的模型。

    如果您希望它变脏,您可以使用容器控件,将其绑定到 /edmx:DataServices/edm:Schema/edm:EnumType 并使用您的 ComboBox 作为模板并应用适当的过滤器。然后,您必须在 Combobox 中使用相对路径。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      • 2017-12-19
      • 2021-02-02
      • 1970-01-01
      • 2016-07-26
      相关资源
      最近更新 更多