Arrays SAPUI5 XML视图中嵌套JSON数组的聚合绑定
我正在尝试使用JSON模型中嵌套数组中的数据进行聚合绑定: 以下是我的“Menus.json”模型: } 例如,我想像这样把“星期一”绑在我的桌子上Arrays SAPUI5 XML视图中嵌套JSON数组的聚合绑定,arrays,json,xml,sapui5,Arrays,Json,Xml,Sapui5,我正在尝试使用JSON模型中嵌套数组中的数据进行聚合绑定: 以下是我的“Menus.json”模型: } 例如,我想像这样把“星期一”绑在我的桌子上 <Table id="nordMenuTable" inset="false" items="{Menus>/monday/menus}"> <columns> <Column minScreenWidth="Phone" d
<Table id="nordMenuTable" inset="false" items="{Menus>/monday/menus}">
<columns>
<Column minScreenWidth="Phone" demandPopin="true"/>
<Column minScreenWidth="Desktop" demandPopin="true" popinDisplay="WithoutHeader"><ObjectIdentifier title="{i18n>NordColumn1}"/></Column>
<Column minScreenWidth="Desktop" demandPopin="true" popinDisplay="Inline"><ObjectIdentifier title="{i18n>NordColumn3}"/></Column>
<Column minScreenWidth="Phone" hAlign="End"><ObjectIdentifier title="{i18n>NordColumn2}"/></Column>
</columns>
<items>
<ColumnListItem>
<ObjectIdentifier title="{Menus>title}"/>
<Text text="{Menus>menu}"/>
<Text text="{Menus>price2}"/>
<Text text="{Menus>price}"/>
</ColumnListItem>
</items>
</Table>
请帮助我使用嵌套数组的JSON文件的绑定语法。我知道,如果我有一个只包含嵌套数组中数据的单一JSON模型,事情会顺利进行,但我需要这样的JSON文件,以及与特定日期相关的所有菜单。您的JSON模型应该类似于:
{
"days": {
"monday": {
"menus": [{
}]
},
"tuesday": {
"menus": [{
}]
}
}
}
您的项目
聚合应该是项目=“{Menus>/days/monday/Menus}”
对于
ColumnListItem
路径{Menus>menu}
,因为它们是相对路径[View SS][JSON不正确,请首先更正JSON。
然后在视图中,像这样绑定,这里我的模型名是device。
JSON:
{
“天”:[{
“星期一”:{
“菜单”:[{
“菜单”:“意大利面、意大利肉酱或蔬菜、番茄酱和帕尔玛干酪”,
“价格”:“3.90”,
“价格2”:“2.90”,
“标题”:“Menü1”
}, {
“菜单”:“我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们。”,
“价格”:“4.40”,
“价格2”:“3.40”,
“标题”:“Menü2”
}, {
“菜单”:“罗非鱼和科科斯齐特罗嫩格拉斯沙司2,70欧元Chinakohl、Karotten、Champignons和Erbsen Jasmin Duftreis”,
“价格”:“4.80”,
“价格2”:“3.50”,
“标题”:“现场烹饪”
}, {
“菜单”:“Vegitarisch Kokos辣椒酱”,
“价格”:“1.20”,
“价格2”:“Suppenschale:3.50”,
“标题”:“补充”
}, {
“菜单”:“Blumenkohl Lauch Brattling mit Soja Kerbeldip”,
“价格”:“2.50”,
“价格2”:“,
“标题”:“素食者狂吠”
}]
}
}]
};
```
[1]: https://i.stack.imgur.com/Ej022.png
在我上面的示例中有一些错误,对此表示抱歉,但我也尝试了与您完全相同的方法,但仍然不起作用:/在ColumnListItem路径中,您必须删除斜杠,因为它们是相对路径。您如何声明您的jsonModel?是否总是bing“monday”或者只是一个例子?另外,你能改变JSON结构吗?假设你需要表中所有工作日的所有菜单,那么工厂函数就不可能了。就像那样,你需要手动在tableHi@fabiopagoti上添加项,谢谢你注意。是的,这只是一个只绑定星期一的例子。是吗您有一个想法或示例如何动态处理所有5天?并通过按按钮或类似按钮来更改表绑定您好!这就是我的意思:由于许多数组分布在一个大JSON中,您将无法使用数据绑定。使用您现有的JSON模式,唯一的选项是使用add/inser动态添加行sap.m.Table类的t个方法。您不需要一个按钮来显式执行此操作。如果您可以控制JSON结构,我建议您更改它以获得数据绑定的许多好处。如果您不能,IMO中没有其他好的替代方法。您想做什么?更改JSON格式还是不使用数据绑定?@fabiopagoti然后我想更改JSON格式,但我只想显示一天的菜单。例如,如果我每天在页脚处有5个按钮,我只想显示特定的菜单,即选中的菜单
{
"days": {
"monday": {
"menus": [{
}]
},
"tuesday": {
"menus": [{
}]
}
}
}
{
"days": [{
"monday": {
"menus": [{
"menu": "Spaghetti mit Rinder-Bolognese oder VEGATARISCH mit TomatenBasilikumsoße und Parmesan",
"price": "3.90",
"price2": "2.90",
"title": "Menü 1"
}, {
"menu": "Schweinerückensteak frisch aus der Pfanne Maisgemüse mit Ofenpaprika und Blattpetersilie Kartoffel Gnocchi im Kürbissud grüne Pfeffer-Butter mit Basilikum",
"price": "4.40",
"price2": "3.40",
"title": "Menü 2"
}, {
"menu": "Tilapia aus dem Ofen mit Kokos-Zitronengras Sauce 2,70 € Chinakohl, Karotten, Champignons und Erbsen Jasmin Duftreis",
"price": "4.80",
"price2": "3.50",
"title": "Live Cooking"
}, {
"menu": "VEGETARISCH Kokos Paprikasuppe",
"price": "1.20",
"price2": "Suppenschale: 3.50",
"title": "Suppe"
}, {
"menu": "Blumenkohl-Lauch Bratling mit Soja-Kerbeldip",
"price": "2.50",
"price2": "",
"title": "Veganer Bratling"
}]
}
}]
};
```
<Table id="nordMenuTable" inset="false" items="{path : 'device>/days/0/monday/menus'}">
<columns>
<Column minScreenWidth="Phone" demandPopin="true"/>
<Column minScreenWidth="Desktop" demandPopin="true" popinDisplay="WithoutHeader"><ObjectIdentifier title="Hello1"/></Column>
<Column minScreenWidth="Desktop" demandPopin="true" popinDisplay="Inline"><ObjectIdentifier title="{i18n>NordColumn3}"/></Column>
<Column minScreenWidth="Phone" hAlign="End"><ObjectIdentifier title="Hello2"/></Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Text text="{device>title}"/>
<Text text="{device>price2}"/>
<Text text="{device>price}"/>
</cells>
</ColumnListItem>
</items>
</Table>
[1]: https://i.stack.imgur.com/Ej022.png