Sapui5 没有字段名的行绑定到表中

Sapui5 没有字段名的行绑定到表中,sapui5,Sapui5,我的SAPUI5应用程序中有一个Json模型,我想将它绑定到一个表。我已经有了包含列和项的表:假设有3列和3行 <table> <columns> <column></column><column></column><column></column> </columns> <items> <ColumnListItem> <cells></cell

我的SAPUI5应用程序中有一个Json模型,我想将它绑定到一个表。我已经有了包含列和项的表:假设有3列和3行

<table>
<columns>
<column></column><column></column><column></column>
</columns>
<items> <ColumnListItem> <cells></cells><cells></cells><cells></cells>
</ColumnListItem>
<ColumnListItem> <cells></cells><cells></cells><cells></cells>
</ColumnListItem>
<ColumnListItem> <cells></cells><cells></cells><cells></cells>
</ColumnListItem>
</items>
</table>
现在我为每个单元格放置 text=“{/0/firstname}”text=“{/0/lastname}”text=“{/0/phone}” 下一排呢 text=“{/1/firstnameParent}”text=“{/1/lastnameParent}”text=“{/1/phone}” 但是这个例子有3个单元格,如果我有更多的单元格,听起来不是个好主意

可能吗?要绑定而不指定字段名吗?我尝试过不同的选择,但没有成功

预期表输出

col1 | col2 | col3
AA | BB | 123
AB | BC | 456
ABC | CC | 555

如果你的数据看起来真的像你的例子,你可以用格式化程序来欺骗它

按如下方式绑定您的行

items="{'/'}"
text="{ path: '', formatter: 'formatFirstname' }"
text="{ path: '', formatter: 'formatLastname' }"
text="{phone}"
按如下方式绑定你的细胞

items="{'/'}"
text="{ path: '', formatter: 'formatFirstname' }"
text="{ path: '', formatter: 'formatLastname' }"
text="{phone}"
并将格式化程序添加到控制器中

function formatFirstname(obj) {
    for (let v in obj) {
        if(obj.hasOwnProperty(v) && v.startsWith('firstname')) {
            return obj[v]
        }
    }
}

function formatLastname(obj) {
    for (let v in obj) {
        if(obj.hasOwnProperty(v) && v.startsWith('lastname')) {
            return obj[v]
        }
    }
}
(代码未测试)
你有主意吗?这将为您提供预期的结果

使用更通用的数据结构如何?我想说的是正确的,不是不可能的。该结构来自外部Web服务,我无法很好地修改它,但您可以将该模型转换为更好的模型。毕竟这只是JSON