首页 > 解决方案 > UI5 表格绑定与导航属性

问题描述

我有一个 odata 模型,我想在我的 XML 视图中绑定到我的表。问题是,我的数据由对象组成,这些对象有 1 个属性,即数组。这个数组是我想在我的表中显示的。

我不能让它工作,也许是因为像“ToWorkingDays/Data”这样的东西不能与表绑定一起工作?也许你可以帮助我。元数据应该是正确的。

我的数据:首先是位置,然后是“ToWorkingDays”数据:

[{
    "LocationID": 0,
    "Title": "blabla",
    "Subtitle": "subtitle",
    "RandomNumber": "123"
}]

[{ "LocationID": 0,
"WorkingDaysID": 0,
"Data": [{
    "Weekday": "Mon",
    "WorkingTimeStart": "08:00",
    "WorkingTimeEnd": "18:00",
    "PauseTimeStart": "12:00",
    "PauseTimeEnd": "13:00"
}, {
    "Weekday": "Tue",
    "WorkingTimeStart": "08:00",
    "WorkingTimeEnd": "18:00",
    "PauseTimeStart": "12:00",
    "PauseTimeEnd": "13:00"
}] }]

我的 XML 视图:

<Table items="{ToWorkingDays/Data}">
        <columns>
            <Column>
                <Text text="Weekday"/>
            </Column>
            <Column>
                <Text text="Work Time"/>
            </Column>
            <Column>
                <Text text="Pause Time"/>
            </Column>
            <Column hAlign="End"/>
        </columns>
        <items>
            <ColumnListItem>
                <cells>
                    <ObjectIdentifier title="{Weekday}"/>
                    <Text text="{parts: [{path: 'WorkingTimeStart'}, {path: 'WorkingTimeEnd'}], formatter: '.getSpanValue'}"/>
                    <Text visible="{=${PauseTimeStart} !== undefined}"
                        text="{parts: [{path: 'jsonModel>PauseTimeStart'}, {path: 'PauseTimeEnd'}], formatter: '.getSpanValue'}"/>
                    <Button icon="sap-icon://edit" press="onEditPress"/>
                </cells>
            </ColumnListItem>
        </items>
    </Table>

我的绑定:

this.getView().bindElement({
            parameters: {
                expand: "ToWorkingDays"
            },
            path: "/" + sPath
        });

我的错误:

列表绑定未绑定到 /ToWorkinDays/Data 的列表

标签: sapui5

解决方案


通常它应该是这样的: items="{modelname>/Customers}" 和 <Text text="{modelname>Name"}/>.

{"Customers":[{
    "ID":1, 
    "Name": "TestCustomer"
}..]}

推荐阅读