cancel
Showing results for 
Search instead for 
Did you mean: 

search multiple field in one query?

Former Member
0 Kudos

Hi Experts,

I want to know how to filter data more than 2 values..i can able to filter single property data..but i want to search all fields data.

I used below code:

search: function(oEvent)

               var SamTbl = oEvent.getParameter("newValue");

               var filters = new Array();

               var oFilter = new sap.ui.model.Filter("Name", sap.ui.model.FilterOperator.Contains, SamTbl);

//             var oFilter1 = new sap.ui.model.Filter("Age", sap.ui.model.FilterOperator.Contains, SamTbl);       

               filters = (oFilter);

               var listItem =  sap.ui.getCore().byId("oTable");

               var binding = listItem.getBinding("items");

               binding.filter(filters);

can you please say here where i can make change to filter all fields data.

Thanks & Regards,

Palsaran

Accepted Solutions (1)

Accepted Solutions (1)

former_member182862
Active Contributor

Hi Pal

You're very close. Code should be

var contains = sap.ui.model.FilterOperator.Contains;
var filters = new sap.ui.model.Filter([
    new sap.ui.model.Filter("Name", contains, SamTbl),
    new sap.ui.model.Filter("Age", contains, SamTbl)], 
        false); // false for OR      

OR

var contains = sap.ui.model.FilterOperator.Contains;
var columns = ['Name', 'Age', "Column1', ColumnX', ColumnY'];
var filters = new sap.ui.model.Filter(columns.map(function(colName) {
    return new sap.ui.model.Filter(colName, contains, SamTbl); }),
        false);


-D

Former Member
0 Kudos

Thanks Dennis

0 Kudos

Thank you this is awsome!

Answers (1)

Answers (1)

Former Member
0 Kudos

Please anyone address this..

Thanks,

Palsaran

kai2015
Contributor
0 Kudos

maybe use google search?

I used those Keywords: sapui5 filter multi fields

First result refers to following discussion with good example code:

filtering - How to filter a table on multiple columns in SAPUI5 - Stack Overflow

Sometimes nobody want to answer, because its already discussed.