Forum Stats

  • 3,874,339 Users
  • 2,266,726 Discussions


oj-list-view ArrayTableDataSource and ArrayDataProvider

Justin Michael Raj
Justin Michael Raj Member Posts: 5
edited Nov 28, 2018 7:16PM in Oracle JET

I have a REST service and the response is a nested JSON structure - Json Array inside each Json Object (Parent and Child array structure).

I created a ojCollection of this Json response and created a CollectionTableDataSource.

This data source is used to create a oj-list-view using the keys in Json objects from the REST service.

This list is displayed fine, without any issues.

On clicking a list item, I want to display the underlying array as another list in the same page.

So I created a function 'showChildList' and set it up in the SELECTED attribute of oj-list-view component.

When I click on the list item, I get the event recieved in showChildList function.

event.detail.value contains the child json array.

1. I tried to pass this array directly to the child oj-list-view component. It did not work.

2. I created a ArrayDataProvider from this array and binded it as data to the child oj-list-view component. It did not work too.

3. I am trying to build a backbone collection out of this array, and then a CollectionTableDataSource. Then bind this data source with the child oj-list-view component. It did not work too.

I am repeating the same steps done for the parent List component. But its not working.

I am not able to figure out why it is not working.

I am not getting any error and also able to print the array being passed to the DataSource in the console.

But the child List component is not displayed.

Can someone please help me.



  • John 'JB' Brock-Oracle
    John 'JB' Brock-Oracle Posts: 2,880 Employee
    edited Nov 28, 2018 7:16PM

    Hi Justin,

    Can you share the JSON file with the structure that you are using?  That may help make it more clear what you are trying to do.

    It sounds like you just need to get the right data out of that JSON file and then passing that to the dataSource.  Are you planning to do CRUD operations against this data?

    If not, then you really don't need to use a Collection datasource.  An arrayDataProvider will work much easier.

    The difference between DataSource and DataProvider by the way, is more generational than anything else.  The DataProvider is a newer implementation of the Data objects and is more key based.  If it's available, we recommend using the DataProviders.  There are some edge cases that don't have DataProviders available just yet (Pagination is one of them).