19
Views
11
Comments
[OutSystems Data Grid] Server-side pagination shows correct total (4/4) but UI renders only 3 rows
outsystems-data-grid
Reactive icon
Forge asset by OutSystems
Application Type
Reactive
Service Studio Version
11.55.14 (Build 64054)

Hi All,

Data Grid is displaying fewer records than expected, even though the API response and the bound JSON dataset contain the correct number of records.

During analysis, it was observed that:

  • The API returns 4 records, and the same 4 records are correctly assigned to the Data Grid.
  • However, only 3 records are rendered in the UI.
  • Pagination correctly shows “1 to 4 of 4 items”, confirming that the dataset contains all records.
  • Additionally, records with values such as “PSOLD As IF” and “PSOLD As iF” are treated as equivalent in the Data Grid.


Regards,

Sudharshan

2022-01-08 08-12-34
Ravichand G Y

Hi @Sudharshan T,

Could you share your OML file? It would help me analyze the issue more thoroughly.


2026-03-20 01-28-51
Saugat Biswas

Hi @Sudharshan T,

I suspect that the data grid column filter uses case insensitive grouping of texts so that the filters do not show the duplicate values. And during filter the match happens as case sensitive.

Also, I believe it is not possible to make OutSystems Data Grid column filters case‑sensitive using built‑in functionality. Case‑sensitive filtering requires a custom implementation outside the Data Grid’s native filters.

Cheers,

Saugat

UserImage.jpg
Sudharshan T

Hi @Saugat Biswas , the issue is because of case sensitive, any inputs here how we can get all data.

2026-03-20 01-28-51
Saugat Biswas

Hi @Sudharshan T

Unfortunately, data grid filters treat entries that differ only by case as duplicates and while grouping them matches as case insensitive. There is no configuration or api that can help eliminate this issue. You can raise a support ticket with data grid component to fix this issue, but I am not sure this will be addressed.

Cheers,

Saugat

2026-01-28 16-57-48
Mihai Melencu
Champion

Hi @Sudharshan T ,

Just to confirm are you using ServerSidePagination = True ?

Also, what version of this component are you using?

UserImage.jpg
Sudharshan T

Hi @Mihai Melencu, Yes I'm using server-side pagination and the data grid component version is 2.9.0

2026-01-28 16-57-48
Mihai Melencu
Champion

Can you please show us how you populate the data for the filter values, a sample OML would be helpful. 

UserImage.jpg
Sudharshan T

I m getting a data from API and then binding JSON output to data grid. My question is i see all four response from API and even in JSON but why it still consider/relies on client side filter while rendering 

2026-01-28 16-57-48
Mihai Melencu
Champion

By default, when you switch to server-side pagination, filtering becomes condition-based. If you want to enable column filters by value, you need to use the client action API_Filter\SetColumnFilterOptions.

My question is: how and when are you calling this client action, and how are you populating the filter options?

UserImage.jpg
Sudharshan T

HI @Mihai MelencuPlease find the attached OML file for reference. I have recreated the logic for how the value is retrieved from the API and how filtering is applied. Pagination has not been included in this. However, when the filter is applied, one record appears to be missing. The filtering method used is “Filter by Value.” 

Grid.oml
2026-01-28 16-57-48
Mihai Melencu
Champion

Hi @Sudharshan T ,

The issue was from the SQL GetResourceFilterValue, DISTINCT treats these as the same: 

  • PSOLD As iF
  • PSOLD As iF

To fix this, you need to explicitly force a case-sensitive collation in your query. 

You can do it like this:

  1. SELECT DISTINCT
  2. LTRIM(RTRIM([Name])) COLLATE Latin1_General_CS_AS AS [Name]
  3. FROM {Resource}
  4. WHERE [Name] IS NOT NULL

I attached an updated OML as well.

Grid_updated.oml
Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.