cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Local JSON Data File binding issue

bpawanchand
Active Contributor
0 Likes
924

Hi Experts,

I am finding hard to define binding between the UI elements defined in the VIEW.JS by referring them in the CONTROLLER.JS. Here are some of the positive points which I could find from experts suggestions and recommendation and redefined my application in order to pull the JSON data into client.

1. I have imported an explicit JSON Data file with name ProductCategory.json. It is an array of 6 products.

2. By using loadData("","",false); I was able to load the data into the application synchronously. I could even see the same while debugging under network section.

3. Next to this I used getJSON()method to read the JSON data file into a dummy variable.Latter, the same dummy variable is used in model.setData({modelData: <dummyVAR>});

4. Now I got the reference of the table  by using sap.ui.getCore().byID("tabid"); within the controller. Next to this, I tried to set the model of the table and then finally used bindRows("/modelData"); to complete the binding definition.

Now , I was expecting to see the list of  6 rows in the table. But, its not happening. Now I am little confused about  where to define binding. Should it be defined in controller.js or within view.js?

Finally, this is the that way how I defined a column and its associated binding. in the view as follows

The Controller definition is as follows:

The output of the application

Regards

Pavan

View Entire Topic
Qualiture
SAP Mentor
SAP Mentor
0 Likes

Hi,

Have you checked whether your returned model actually does contain any data?

bpawanchand
Active Contributor
0 Likes

Hi Robin,

Yes, I could see in the debug mode. the oPcmodel property oData; is filled with 6 array objects.

Please find the screen shot .

Regards

Pavan

jmoors
Active Contributor
0 Likes

Looking at the last screenshot, this issue is with you binding path.

You need to bind the table items to an array, however the JSON is actually an object containing a PRDCATS name/value array.

Therefore you need to bind to

oTab.bindRows("/PRDCATS");

Regards,

Jason


jmoors
Active Contributor
0 Likes

Also the getJSON and setData steps in your code are redundant, the loaddata method will populate the model data.

Regards,

Jason