Quantcast
Channel: SAPUI5 Developer Center
Viewing all articles
Browse latest Browse all 789

TreeTable using json data

$
0
0

Hi Everyone,

I want to share how to display json data in treetable.

 

 

//Create an instance of the table control

var oTreeTable = new sap.ui.table.TreeTable({

  title:"",

  width : "100%",

 

 

columns: [

   new sap.ui.table.Column({

       label: "",

       template: ""

   }),

   new sap.ui.table.Column({

       label: "",

       template: ""

   }),

   new sap.ui.table.Column({

       label: "",

       template: ""

   }),

 

],

selectionMode: sap.ui.table.SelectionMode.None,

enableColumnReordering: false,

expandFirstLevel: false,              //if true expand whole tree showing all of its root elements

toggleOpenState: function(oEvent) {

 

 

}

})

//binding json data to treetable

 

var data = {

        root: nOdata,

    };

 

var oTreeModel = new sap.ui.model.json.JSONModel();

    oTreeModel.setData(data);

    oTreeTable.setModel(oTreeModel);

    oTreeTable.bindRows({

        path: '/root',

    });

 

 

 

//odata into json

 

var oModel1 = new sap.ui.model.json.JSONModel();

var oData = [

      {

        "__metadata" : {

          "id" : "http://url",

          "uri" : "http://url",

          "type" : "Entity name"

        },

        "Child1" : "",

        "Child2" : "",

        "Child3" : "",

        "Child4" : "",

        "Child5" : "",

        "Child6" :

      },

] // write all elements over here

 

 

 

var nOdata = [];

var tmpArr = [];

 

 

for (key in oData) {

   nID = oData[key]['child1'];

   pID = oData[key]['child2'];

 

   if(pID == "") {

     tmpArr = oData[key];

     tmpArr['children'] = [];

     newOdata.push(tmpArr);

   }

   else {

     found = searchAndAddNode(nOdata, oData[key]);

     //console.log(found);        

   }

}

function searchAndAddNode(node, nodeToAdd) {

  found = false;

     for (key in node) {

       if(node[key]['child1'] == nodeToAdd['child2']) {

         tmpArr = nodeToAdd;

         tmpArr['children'] = [];

         node[key]['children'].push(tmpArr);

      

       found = true;

       return found;

       }

     }

  if(!found) {

    for (key in node) {

      found = searchAndAddNode(node[key]['children'], nodeToAdd);

    }

  } 

  return found;

}

 

 

 



Viewing all articles
Browse latest Browse all 789

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>