如何将动态数据绑定到sapui5中的表?

时间:2016-06-16 12:43:54

标签: sapui5 sap-fiori

我正在尝试将动态数据绑定到在xml中创建的表。但我做不到。我没有收到任何错误,但它始终显示“无数据可用”。这是我尝试过的。

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:Array [64]}

root: Array[64]

  0: Object

    AccountDesc: "blah"

    AccountNo: "blah"

    AmtActFore: "blah"

    AmtBudget: "blah"

    AmtVariance: "blah"

1 个答案:

答案 0 :(得分:0)

我认为你错过了将数据推送到模型中的部分:

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

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