sapui5中如何绑定动态数据到table?

How to bind dynamic data to a table in sapui5?

我正在尝试将动态数据绑定到在 xml 中创建的 table。但是我做不到。我没有收到任何错误,但它总是显示 "No Data Available"。这是我尝试过的。

App.view.xml :-

<sap.ui.layout:HorizontalLayout xmlns:sap.ui.layout="sap.ui.layout" id="table_layt">
    <sap.ui.layout:content>
        <Table noDataText="No Data Available" id="bud_table" class="table_layt">
            <items></items>
            <columns>
                <Column id="c1">
                <header><Label text="Account Description" id="aclab"/></header>
                </Column>
                <Column id="c2">
                <header><Label text="Actual" id="actlab"/></header>
                </Column>
                <Column id="c3">
                <header><Label text="Budget" id="budglab"/></header>
                </Column>
                <Column id="c4">
                <header>
                <Label text="Variance" id="valab"/></header>
                </Column>
            </columns>
        </Table>
</sap.ui.layout:content>

App.controller.js :-

var oTable = this.getView().byId("bud_table"); 
var oTemplate = new sap.m.ColumnListItem({
    cells:[
        new sap.m.Label({
        text:"{AccountDesc}"
        }),
        new sap.m.Text({
        text:"{AmtActFore}"
        }),
        new sap.m.Text({
        text:"{AmtBudget}"
        }),
        new sap.m.Text({
        text:"{AmtVariance}"
        })
        ]
});

oTable.bindItems("/root", oTemplate);

我的数据是这样的:-

数据

对象{root:数组[64]}

root: Array[64]

  0: Object

    AccountDesc: "blah"

    AccountNo: "blah"

    AmtActFore: "blah"

    AmtBudget: "blah"

    AmtVariance: "blah"

我认为您遗漏了将数据推入模型的部分:

this.getView().setModel(
    new sap.ui.model.json.JSONModel({
        root: [{
            AccountDesc: "blah",
            AccountNo: "blah",
            AmtActFore: "blah",
            AmtBudget: "blah",
            AmtVariance: "blah"
        }]
    }));

请参阅 this JSBin 以获取代码的工作示例,包括模型初始化部分。