3
votes

I am Trying to bind some filtered data with sap.m.table

Model I am using

var model = new sap.ui.model.json.JSONModel("../services/myexp.xsodata/ExpenseItem?$format=json&$filter=Expense_Claim_No eq "+id, false);
    console.log(model);
    sap.ui.getCore().setModel(model,'myitem');

model is returning data as json format

{
d: {
results: [
{
__metadata: {//some info
},
Expense_Item_No: 11011,
Expense_Claim_No: 1101,
Expense_Item_Description: "Taxi",
Expense_Amount: 800,
Expense_Item_Category: "Travel"
},
{
__metadata: {//some info
},
Expense_Item_No: 11012,
Expense_Claim_No: 1101,
Expense_Item_Description: "Meals",
Expense_Amount: 1200,
Expense_Item_Category: "Daily Expenses"
}
]
}
}

my sap.m.Table code

var aColumns = [
        new sap.m.Column({
            header : new sap.m.Label({
                text : "Expense Item No"
            })
        }),
        new sap.m.Column({
            header : new sap.m.Label({
                text : "Description"
            })
        }),
        new sap.m.Column({
            header : new sap.m.Label({
                text : "Category"
            })
        }),
        new sap.m.Column({
        header : new sap.m.Label({
            text : "Amount"
        }),
    })
    ];

var oTemplate = new sap.m.ColumnListItem({
    cells : [
        new sap.m.Text({
            text : "{Expense_Item_No}",
            wrapping : false
        }),
        new sap.m.Text({
            text : "{Expense_Item_Description}",
            wrapping : false
        }),
        new sap.m.Text({
            text : "{Expense_Item_Category}"
        }), 
        new sap.m.Text({
            text : "{Expense_Amount}"
        })
    ]
});
var oTable = new sap.m.Table({
    columns : aColumns
});
oTable.bindItems("myitem>/", oTemplate);

But it's not showing the data on the table. What am I doing wrong. Please Help. Thank you

1

1 Answers

2
votes

Try

oTable.bindItems("myitem>/d/results", oTemplate);