TAdvStringGrid - checklistbox filters

Hi, I have problems with the checklistbox filters in TAdvStringGrid, which I have successfully simulated in the TAdvStringGrid sample application no. 80. Below are some of the steps I made:

Open the sample app. in RAD studio.

1. set the AdvStringGrid1.FilterDropDownCheck property to "True" and the AdvStringGrid1.FilterDropDownCheckUnCheckAll property to "All"
2. remove the AdvStringGrid1GetColumnFilter action, or comment it's entire content

3. run the application
4. check "Ferrari" and "Honda" in the 1st column
5. check "3500" in the 3rd column

until now, everything behaves as expected. Now:

6a. check "5474" in the 3rd column - grid is empty - don't understand why
7a. check "All" - still empty
8a. uncheck "All" - grid is full of all values as in original state, while "Ferrari" and "Honda" (1st column) is still checked
9a. uncheck "Ferrari" in 1st column and the grid returns to predictable state

(repeat steps 3 to 5)
6b. close the filter checklistbox (still 3rd column) by clicking anywhere else and open it again - it is full of all distinct values of that column again - don't understand why
7b. check "All" - now the data makes sense again
8b. wrong again, same as 8a
9b. same as 9a


Now a little different example:
3. run the app.
4. check "BMW" in 1st column
5. check "103" in 4th column - OK
6. check "all" in 4th column - OK
7. uncheck "all" in 4th column - grid is in original state again
8. check "103" in 4th column - grid empty
9. uncheck and check again "103" to finally return to meaningfull result

These are only some examples of the unpredictable and bad behavior. In my application, with more complex grid, and data, the behavior is even worse. For example, I select one value, data are filtered correctly, select second value from the same filter, I see all the data in grid, select third value, data are filtered correctly again etc. It is very hard to describe...

Of course, it could be me doing something wrong, but I have no idea what...

Thanks for any help.

I am seeing similar in my DBAdvGrid. My example would be with FilterDropDownCheckUnCheckAll set to "All" and SearchFooter Visible, and 2 rows of data.  When you check the last row, then check All, all rows disappear.  If you do not have the SearchFooter Visible they do not disappear.  Most likely related to my last issue reported here -> http://www.tmssoftware.com/site/forum/forum_posts.asp?TID=6289&title=dbadvgrid-filtering-issue

I also noticed another issue with RowCount.  To verify my issue of not getting the results I was expecting I put a statusbar on the form and in the OnFilterDone event of the grid I set a panel text to show the grid RowCount.  This issue happens whether the Search Footer is visible or not.  Using the same 2 rows of data (3 rows total counting headers).  When I check a row, the rowcount drops to 2 (one row of data and header).  When I check the second row, the row is visible but the rowcount still says 2. 

Is everything clear? Should I provide more informations?

I could reproduce this but could not yet allocate sufficient time during this weekend to investigate deeper.

Is there any update? I have read the topic DBAdvGrid Filtering Issue. Are the mentioned fixes related also to TAdvStringGrid?

This issue was fixed. The next scheduled update will address this.

Hi, I just installed latest version with the fix. There still is somewhat weird behavior. With the same setup as in the first post, it does following


1.
- I select "3500" from 3rd column
- then check and uncheck "all" in 4th column - the "3500" is being ignored and grid is not filtered at all

2.
- I select "3500" from 3rd column
- select "156 1,6TS" from 2nd column
now the grid is empty, that is correct
- check and uncheck "All" in 4th column
grid is full - incorrect, the filter in 2nd column has been unchecked - incorrect
- uncheck "3500" in 3rd column
the "156 1,6TS" in 2nd column is checked again and grid is filtered "correctly", but it is unpredictable

So the behavior of combined filters, is still a bit peculiar

The uncheck all acts now as a way to reset the filter (for all columns).
We'll investigate if we can (optionally) alter this.

OK, thank you, but if the filter is reset, then all checked values should be reset = unchecked as well. Because if not, the user logically expects, that when checked, the filter condition is active. But it is not... I would understand if in 1st case - the 3500 in 4th column would be unchecked, after the filter has been reset.

Same in the 2nd case, plus that the "156 1,6TS" would stay unchecked. Now it is somehow "remembered" and becomes checked again without obvious reason, after (for the user) unrelated action.

Yes, we'll investigate this.

Is there any progress in this matter?

We have so far unfortunately not found a solution that isn't causing other side-effects. It remains on our todolist.