Radzen DataGrid Boolean Filter

I am on 4.5.3 and this still occurs. All of the other filtering works great. However, the boolean filter seems to handle the initial mixed state fine. I click on it and it changes to a check and all of the true values are displayed. I click it again, the check goes away and all of the false values are displayed. Lastly, I click it again, to assume to go back to the mixed state but the graphic is a solid box (instead of the initial box with a dash in it) and just stays as the last set of results (the false records.) I know that it is showing just the false records based on the grids total records (because we have paging on as well.)

Here is the initial state when I come into the grid (everything shows):

image

Here is once I click on the filter the first time (to see just the true values):

image

Here is when I click it again (to see just the false values):

image

Lastly, clicking it again the box changes but the result set never changes:

image

Here is what I've tested and it worked:


filter-nullable-bool

Okay, digging in deeper I have narrowed it down to the Filter parameter. More specifically, the args passed in. We are using this event to catch and keep track of these filters so we can delete them all if necessary. While going through what happens on the even at each click of the filter (for this boolean) I believe you guys are passing the wrong value to the args.FilterValue.

So when I come to the page, the filter is in a mixed state (both true and false are valid) and when I click that filter checkbox here are the values that come in:

We can see that the .FilterValue is a boolean and it is true. After the event, all of the true values are shown as expected.

When I click on that field again you can see these values coming in:

And once the event is completed, all of the false values are shown.

Lastly, when I click on the empty filter (in false mode) to switch it to mixed mode, here are the values now:

Notice the .FilterValue is now a string (when it was always a boolean) and now shows False instead of false.

I was able to work around this and am getting all 3 states of the filter now.