There seems to be some strange behavior in the default grid filtering when cells contain the same value but differ in case. In short, it seems like the filtering 'in' condition does not respect the provided 'ignoreCase' flag and will remove unintended rows from the grid when deselecting rows in the filter box.
Example (assume 1 column in grid):
Row1: 'value1'
Row2: 'value2'
Row3: 'VALUE2'
When 'value1' is deselected from the filter box, the filtering expression treats both 'value2' and 'VALUE2' as the same with an 'ignoreCase' flag set to true - setting up a filtering expression similar to:
{ condition: { $in : ['value2']}, ignoreCase: true}
NOTE: This behavior was noticed against a fairly large dataset. I have noticed that when dealing with fewer rows, instead of an 'in' condition, an 'equals' condition is used which DOES correctly apply the 'ignoreCase' flag and results in both Row2 and Row3 remaining after the filter is applied.
Apologies for lack of source code or images, but code is on a different system.
Hello Zach,
I am glad I was able to assist you regarding this matter.
Thank you for using Infragistics components.
Sincerely,Riva IvanovaSoftware Developer
Riva,
Thank you for your reply. That issue looks like it covers my concern, and I will be following it to completion!
Appreciate your time,
Zach
Thank you for posting in our community!
I have been looking into your question and noticed that a similar behavior has already been logged in our GitHub repository here and there are pending PRs targeting it. Once the PRs are reviewed and merged, the fix will be introduced in a future version of the product.
In order to receive a notification whenever new information is available, please make sure that you are subscribed to the issue. This can be achieved via the “Subscribe” button.
Please let me know if you need any further information on the matter.
Looking forward to your reply.
Sincerely, Riva Ivanova Software Developer