Filter using Predicate

This is just a general question. Does filtering the scheduler using Predicate do a call to the server again or it should do at the client side? The following is what i am doing but it is calling back to server which i would like to avoid if possible.


function multiSelectFilter(args) {
  var selectItem = args.itemData.name;
  var filterLocLength = filterLocValue.length;
  if (!filterLocValue.includes(selectItem)) {
    filterLocValue[filterLocLength] = selectItem;
  }

  var predicate = new ej.data.Predicate('Location', 'equal', 'Rotary Table');
 
  scheduleObj.eventSettings.query = new ej.data.Query()
  .where(predicate);
}




1 Reply

SR Swathi Ravi Syncfusion Team November 15, 2024 01:05 PM UTC

Hi Naveen,

Thanks for reaching out.

In remote data binding, invoking executeQuery sends a request to the server each time, where the query is processed server-side. This is the expected behavior. To prevent frequent server requests when calling executeQuery, you can configure the DataManager to load all data during initialization and handle query processing on the client-side. This behavior can be enabled by setting the offline property of the DataManager.

 

https://ej2.syncfusion.com/javascript/documentation/data/how-to#work-in-offline-mode


Regards,
Swathi

Loader.
Up arrow icon