TAdvDBFilterDialog looks really great and useful. Is it possible for you to upgrade it to work on dataset level also (adding Dataset or DataSource property) so we could avoid using PageMode=false?
Also, it would be nice for the dialog to be integrated in the grid itself somehow, having a visible button on the grid that could be pressed if user wants to call the dialog to filter the grid.
And finally, what is TAdvFilterPanelButton for? Don't we have enough buttons already?
- TAdvDBFilterDialog works via DataSource directly on the dataset, so it also works with PageMode = true when you filter on the dataset itself.2) This depends on how you want this to be integrated. You could show the dialog from a grid header click, add a button in a header cell from where you show the dialog etc...3) Fully agreed, only none of the buttons in VCL or what we already have had the exact characteristics we wanted in the filter dialog. So, rather than make a compromise on the button features we wanted, we built a specific button that satisfied our needs.
- Will this dialog recognize existing filters defined in TADOTable.Filter expression? That property is eventually overwritten by this dialog?
2) Maybe you could use fixed cell (0,0) which is always empty by default and make a button with "...". Clicking this button could give both filtering and sorting options. Sorting could be also done by some dialog just like filtering in this case.
- When you click "Restore filter" is should use the existing table filter condition to display the filter operations on the dialog. The property is overwritten when you apply the filter from the dialog.
2) Could be done but not sure if this needs to be hard-coded in the component as everyone can now add the code to do this at application level and this gives the flexibility for everyone to integrate it how you want it.