Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 3548

Getting error in filtering a data in table while consuming data from odata services.

$
0
0

Hi,

 

I am Getting error in filtering a data in table while consuming data from odata services and the table lies in value help control.I am able to get data in table through odata service but when i enter the company code value in search field and press go button data in table is not updated.Kindly look into the problem.


find the attachment of the output screen.

 

 

Controller

 

onInit: function() {

 

var oDataModel = new sap.ui.model.odata.ODataModel("service url",  true, "username",  "password");

sap.ui.getCore().setModel(oDataModel,"oDataModel1");


this.theTokenInput= this.getView().byId("multiInput1");

  this.aKeys= ["CompanyCode","CompanyCodeName"];

var token1= new sap.m.Token({key: "001", text: "Construction"});

  this.aTokens= [token1];

  this.theTokenInput.setTokens(this.aTokens);


},


onValueHelpRequest: function() {

 

 

  var that= this;

 

 

  var oValueHelpDialog = new sap.ui.comp.valuehelpdialog.ValueHelpDialog({

  basicSearchText: this.theTokenInput.getValue(),

  title: "Company",

  supportMultiselect: true,

 

 

  supportRangesOnly: false,

  key: this.aKeys[0],

  descriptionKey: this.aKeys[1],

 

 

  ok: function(oControlEvent) {

  that.aTokens = oControlEvent.getParameter("tokens");

  that.theTokenInput.setTokens(that.aTokens);

 

 

  oValueHelpDialog.close();

  },

 

 

  cancel: function() {

  sap.m.MessageToast.show("Cancel pressed!");

  oValueHelpDialog.close();

  },

 

 

  afterClose: function() {

  oValueHelpDialog.destroy();

  }

 

 

  });

 

 

 

 

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

  oColModel.setData({

  cols: [

        {label: "Company Code", template: "CompanyCode"},

        {label: "CompanyCodeName", template: "CompanyCodeName"}

 

 

        ]

  });

  oValueHelpDialog.getTable().setModel(oColModel, "columns");

 

 

 

 

  oValueHelpDialog.getTable().setModel(sap.ui.getCore().getModel("oDataModel1"));

  oValueHelpDialog.getTable().bindRows("/CompanyCodeValuehelp");

 

 

  oValueHelpDialog.setRangeKeyFields([{label: "Company Code", key: "Company Code"}, {label : "CompanyCodeName", key:"CompanyCodeName"}]);

 

 

  oValueHelpDialog.setTokens(this.aTokens);

 

 

  var oFilterBar = new sap.ui.comp.filterbar.FilterBar({

  advancedMode:  true,

  filterBarExpanded: true,

  searchEnabled:true,

  filterGroupItems: [new sap.ui.comp.filterbar.FilterGroupItem({ groupTitle: "foo", groupName: "gn1", name: "n1", label: "Company Code", control: new sap.m.Input()}),

                    new sap.ui.comp.filterbar.FilterGroupItem({ groupTitle: "foo", groupName: "gn1", name: "n2", label: "CompanyCodeName", control: new sap.m.Input()})],

 

 

                    search: function(oEvt) {

 

 

        var aFilters = [];

      

        var sQuery = oEvt.getSource().getValue();

        if (sQuery && sQuery.length > 0) {

        var filter = new sap.ui.model.Filter("CompanyCode", sap.ui.model.FilterOperator.Contains, sQuery);

        aFilters.push(filter);

        }

 

 

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

        oColModel.setData({

        cols: [

              {label: "Company Code", template: "CompanyCode"},

           {label: "CompanyCodeName", template: "CompanyCodeName"}

 

 

              ]

        });

        oValueHelpDialog.getTable().setModel(oColModel, "columns");

 

 

 

 

      

        oValueHelpDialog.getTable().setModel(sap.ui.getCore().getModel("oDataModel1"));

      

        oValueHelpDialog.getTable().bindRows("/CompanyCodeValuehelp");

   

        oValueHelpDialog.getTable().filter(aFilters,"Application");

      

                    }

  });


Error


I am getting error in console


Uncaught TypeError: oEvt.getSource(...).getValue is not a function



Regards,

Monika




Viewing all articles
Browse latest Browse all 3548

Trending Articles



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