Grid filter parameters for huge data set

Hi,

I'm seaching for a React Grid component for our software, to be used in several places for smaller and larger data sets.
I have made a short test with SyncFusion Grid component: https://ej2.syncfusion.com/react/documentation/api/grid

Feature set of the component seems otherwise fitting, but I've been having some issues with Filtering.
I have looked examples at http://localhost:14177/React//#/material/grid/filter-menu
I have made my own CustomAdaptor extends UrlAdaptor. It only adds Authorization header at beforeSend, needed for my test endpoint.
I have my own test endpoint, which now supports sorting, and always returns requested (skip and take parms) amount of rows in format {"count":34, result:[{},{} ...]

Currently in my test showing data and sorting it works.
When I set checkbox filtering, it now sort of works (REST queries to server have filtering, but I haven't yet implemented filtering support to server side)
Everything ok this far.

1st issue: 
My test data set first column is called "site". All entries except one have same site 4320.
When I start typing something to the "Search" field, it will immediately say "No Matches Found".
- I see from my Browser Network history it made request to my original datasource endpoint, with following request body: {"take":1000,"where":[{"isComplex":false,"field":"site","operator":"contains","value":"4320","ignoreCase":true,"ignoreAccent":false}]}
- Naturally the response is the full data set {"count":34, result:[{},{} ...]
-> But still "No matches found"? What should I do to get it working?

2nd issue:
I didn't find a way to set filtering values for Checkbox mode in custom / manual way. Seems it automatically calculates this from data set (seems maybe from first 1000 entries).
Calculating it automatically from data set isn't normally an option for us, since many of our data sources cannot ever provide the full data set for fast UIs (10M+ rows with calculation).
Is it possible to have filtering for almost infinite data sets with this Grid component, or should we search for some other component? 

3rd issue:
I'd like to have Checkbox search for some columns (for example location name) while having Menu search for others (for example event timestamp). Is this possible?

I have attached my javascript test example, with modified url, credentials and field names.



Attachment: App_anonymized_eb960488.zip

3 Replies 1 reply marked as answer

AG Ajith Govarthan Syncfusion Team January 29, 2021 01:46 AM UTC

Hi Paulus, 
 
Thanks for contacting Syncfusion support. 
 
Query: My test data set first column is called "site". All entries except one have same site 4320. When I start typing something to the "Search" field, it will immediately say "No Matches Found". & I didn't find a way to set filtering values for Checkbox mode in custom / manual way. Seems it automatically calculates this from data set (seems maybe from first 1000 entries). 
 
Based on your query suspect that you have bind large amount of data to the grid component and also enabled the excel filter.  By default, in our EJ2 Grid when you bind a large set of data the checkbox filter only takes first 1000 records as filterChoiceCount value.  
 
So that checkbox filter only shows the unique values of the first 1000 records. So, to overcome this behavior you need to change the filterChoiceCount value. We have changed the filterChoiceCount value using the actionBegin event. For your convenience we have attached the sample so please refer the sample for your reference. 
 
Code Example: 
Index.js 


  actionBegin(args) { 
    if ( 
      args.requestType === "filterchoicerequest" || 
      args.requestType === "filtersearchbegin" 
    ) { 
      args.filterChoiceCount = 5500; // change the filterchoicecount value as you need 
    } 
  } 

 
 
UG-link: 
 
Query: I'd like to have Checkbox search for some columns (for example location name) while having Menu search for others (for example event timestamp). Is this possible? 
 
Based on your query you want to different filters for each column. So, based on your query we have attached the documentation in that we have used different filters for each column using the filter property of the column. So, please refer the documentation for your reference. 
 
 
Please get back to us if you need further assistance. 
 
Regards, 
Ajith G. 


Marked as answer

PS Paulus Selin January 29, 2021 07:03 AM UTC

Hi,

Thanks a lot for the example and links. These answered all my issues.


AG Ajith Govarthan Syncfusion Team February 1, 2021 11:46 AM UTC

Hi Paulus,  
  
Thanks for the update. 
 
We are happy to hear that your issue has been resolved. 
 
Please get back to us if you need further assistance. 
 
Regards, 
Ajith G.

Loader.
Up arrow icon