Skip to Content
0

Binding table without collection based on id

May 16 at 06:44 AM

22

avatar image

Hello,

I have a servlet from which I get an array of ids in Json model.

[{ID:'1234'},{ID:'5678'}....]

I need to get data from odata service based on these Ids and display in table

The url format is /processes.svc/ProcessInstance(InstanceId= '1234')

There are no collection and other methods implemented for this service. we cannot use filters as well. The only way to access data is using this single link with dynamic InstanceId.

My problem is how do I bind /ProcessInstance(InstanceId= '1234') with instanceid dynamic from the previous json data model.

This below does not work.

{code}

<Table id="idTable" mode="SingleSelectMaster" selectionChange="rowSelect" items="{/ProcessInstance}"> <columns> <Column> <Label text="ID" />

{/code}

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

avatar image
Former Member
May 16 at 10:00 AM
0

I am not sure about the whole use case, but at first sight, I would suggest to merge the two service result into one JSONModel and pass that model to the view and bind accordingly.

Share
10 |10000 characters needed characters left characters exceeded
Srikanth KV May 16 at 03:53 PM
0

From the result of servlet({ID:'1234'},{ID:'5678'}....]) create a promise object for each oData call. Lets assume the promises as p1, p2....etc

now do something like below:

Promise.all([p1, p2, ....])
.then(function(aResults){
   var oJsonModel = new sap.ui.model.JSONModel(aResults);
   //bind this JSONModel to table
});
Share
10 |10000 characters needed characters left characters exceeded