cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to do binding context for a sap.m.text

Former Member
0 Kudos

Hi,

I am trying to bind a context for text .But i am not getting expected output.Please check the below code.PFA for the thing i got on alert msg

VIEW.JS

-----------------

var oData ={"SalesOrderCollection" :  [{name : "RAM",surname : "GOPAL","count":1 },

               {name : "RAJESH",surname : "SRI" ,"count":2}]

  };

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

  oModel.setData(oData);

  var list1 = new sap.m.List({

  id : "master1", inset: false,

  itemPress : function(oevent)

  { //var context = oevent.getSource().getBindingContext();

  oController. handleListItemPress(oevent);}

  });

  var template = new sap.m.StandardListItem({

  title : "{name}",

  type: sap.m.ListType.Active

  });

  list1.setModel(oModel);

  list1.bindItems({path : "/SalesOrderCollection",template :template} );

  return list1;

==========================================================================

controller.js

-----------------------

var src = e.getParameter('listItem');

      var obj = src.getBindingContext().getObject();

var vbox = new sap.m.VBox();

vbox.setBindingContext(obj);

  var soid = new sap.m.Text({text: "{name}"});

vbox.bindAggregation("items","/SalesOrderCollection" , soid);

  alert(JSON.stringify(vbox));

======================================================================

Accepted Solutions (1)

Accepted Solutions (1)

maximilian_lenkeit
Participant
0 Kudos

In the event handler in the controller, you're calling both setBindingContext and bindAggregation on the VBox. The latter (bindAggregation) overrides the effect that setBindingContext would otherwise have on the Text control. Try adding the Text control to the VBox (via addItem) instead of calling bindAggregation.

Also, the VBox needs to have access to the same model as the list. You could do this by setting the model on the view in the first place (instead of the list) and then adding the VBox to the view.

- Max

Answers (1)

Answers (1)

former_member182862
Active Contributor
0 Kudos

HI Jagadeesh

You can set the binding context in this manner.

Example

-D