Welcome to the Angular feedback portal. We’re happy you’re here! If you have feedback on how to improve the Angular, we’d love to hear it!

  • Check out the features or bugs others have reported and vote on your favorites. Feedback will be prioritized based on popularity.
  • If you have feedback that’s not listed yet, submit your own.

Thanks for joining our community and helping improve Syncfusion products!

0
Votes

Description:

When using the Syncfusion Angular Grid (EJ2 Grid) with an enum field and enabling filtering, the grid sends an OData query that applies the tolower() function on the enum field. For example:

$filter - (tolower(Gender) eq 'female')

This happens because the Gender property in the OData entity is an Enum type, not a String. The tolower() function is only valid for Edm.String in OData V4, so applying it to an enum type is invalid.


Sample to Reproduce :


Steps to Reproduce

  • Syncfusion EJ2 GridCreate an Angular application with .
  • Bind the grid to an OData V4 service (e.g., TripPin RESTier Service).
  • Add a column bound to an Enum field (e.g., Gender).
  • Enable filtering for the grid.
  • Apply a filter on the enum column (e.g., filter Gender  - Female).
  • Observed Behavior
  • The grid generates a query:

$filter (tolower(Gender) eq 'female')

This results in 400 Bad Request from the OData service because enums cannot be converted to lowercase using tolower().


Expected Behavior

The grid should not apply string functions (like to lower) on enum fields in the OData query.


Thanks.