Hi Experts,
I have a view with a couple of buttons and a table to display the data on button click.
I am using a function defined in controller.js. But I am not able to populate the data using the parameters returned by the function.
Please help me in correcting the code.
Code below :
View.js
-----------
createContent : function(oController) {
var aData =
{
sales_opp: [
{
"userid": "C001",
"firstName": "John",
"lastName": "Gibbs",
"email": "john.gibbs@xyz.com"
},
{
"userid": "C402",
"firstName": "Alex",
"lastName": "Ron",
"email": "alex.ron@xyz.com"
}
],
sales_quo: [
{
"userid": "E001",
"firstName": "Kim",
"lastName": "Jobbs",
"email": "kim.jobbs@xyz.com"
},
{
"userid": "E022",
"firstName": "John",
"lastName": "Adams",
"email": "john.adams@xyz.com"
}
]
};
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(aData);
var jsonStr;
oButOpp = new sap.ui.commons.Button("oButOpp", {
text : "Sales Opportunity Team",
tooltip : "Sales Opportunity Team"
});
jsonStr = oButOpp.attachPress(oController.getTeam);
oButQuo = new sap.ui.commons.Button("oButQuo", {
text : "Sales Quotation Team",
tooltip : "Sales Quotation Team",
attachPress : oController.getTeam
});
jsonStr = oButQuo.attachPress(oController.getTeam);
var oMatrix = new sap.ui.commons.layout.MatrixLayout();
oMatrix.createRow(oButOpp,oButQuo);
oMatrix.placeAt("content");
var oTable = new sap.ui.table.Table("myTable",{
title: "Team Details",
width: "100%",
visibleRowCount: 3,
selectionMode : sap.ui.table.SelectionMode.None,
selectionBehavior: sap.ui.table.SelectionBehavior.Row
});
oTable.addColumn(new sap.ui.table.ColumnHeader({
label: new sap.ui.commons.Label({text:"User ID"}),
template: new sap.ui.commons.TextView({text:"{userid}"})
}));
oTable.addColumn(new sap.ui.table.ColumnHeader({
label: new sap.ui.commons.Label({text:"First Name"}),
template: new sap.ui.commons.TextView({text:"{firstName}"})
}));
oTable.addColumn(new sap.ui.table.ColumnHeader({
label: new sap.ui.commons.Label({text:"Last Name"}),
template: new sap.ui.commons.TextView({text:"{lastName}"})
}));
oTable.addColumn(new sap.ui.table.ColumnHeader({
label: new sap.ui.commons.Label({text:"Email"}),
template: new sap.ui.commons.TextView({text:"{email}"})
}));
oTable.setModel(oModel);
oTable.bindRows(jsonStr);
oTable.placeAt("table_cont");
}
Controller.js
-----------------
getTeam: function(oEvent){
var jsonId = "";
var buttonId = oEvent.getSource().getId();
alert(buttonId);
switch(buttonId){
case "oButOpp":
jsonId = "/crm_sales_opp";
break;
case "oButQuo":
jsonId = "/crm_sales_quo";
break;
case "oButMR":
jsonId = "/crm_sales_mr";
break;
case "oButGCAF":
jsonId = "/crm_sales_gcaf";
break;
case "oButUtil":
jsonId = "/crm_sales_utilities";
break;
case "oButQT":
jsonId = "/crm_sales_quoteTool";
break;
}
return jsonId;
}
Thanks in advance.
Rajan