Grid Excel filter search not working

Good afternoon. I'm trying to implement your grid in a NextJS project.

The project uses an internal API for the data


When configuring filters for Excel mode, when I try to search for a specific value of the filter it becomes empty 

What am I doing wrong?

please find a working example of the behaviour I described in the following git

https://github.com/stormrover/sf-test.git


Thank you in advance


Attachment: Screenshots_6a373159.zip

2 Replies 1 reply marked as answer

SR Sivaranjani Rajasekaran Syncfusion Team April 17, 2026 05:41 AM UTC

Hi Nuno Silva,

Greetings from Syncfusion support!

Thank you for sharing the details.
We understand that you are facing an issue when searching in the Excel filter while using the URL adaptor.
This behavior typically occurs due to a mismatch between the expected response format of the URL adaptor and the backend implementation. The Syncfusion Grid component expects the server response to be formatted using result and count properties in order to process and display records correctly.
This behavior is governed by the RequiresCounts query parameter in the URL adaptor:

For general Grid actions (such as paging, sorting, or filtering from the main Grid):

  • The RequiresCounts parameter will be true.
  • The server response must be returned as an object containing.
{
  "result": [/* filtered data */],
  "count": totalRecordCount
}

For filtering within the filter popup (Excel filter or menu filter search):
  • The RequiresCounts parameter will be undefined.
  • The server response should be a plain array of objects, without wrapping it in a result or count object.


Based on this requirement, we have modified the server‑side logic to handle responses correctly according to the value of RequiresCounts. Please refer to the code example below for more details.


Code Example : 

export async function POST(request: Request) {
  const body = await request.json();
   .     .       .      .
   .     .       .      . 
  const total = data.length;
  const skip = body.skip ?? 0;
  const take = body.take ?? total;
  const result = data.slice(skip, skip + take);

  //   branching by requiresCounts
  if (body.requiresCounts === true) {
    return Response.json({
      result,
      count: total
    });
  }
  // Excel filter popup / search
  return Response.json(result);
}

Video demo: Please find the attached video for reference.

Sample : Please find the modified sample attached.

Please get back to us if you need further assistance!

Regards,

Sivaranjani R


Attachment: sftestmain_613532fd.zip

Marked as answer

NS Nuno Silva April 17, 2026 08:26 AM UTC

Thank you. That was it :)


Loader.
Up arrow icon