I have been experimenting with using the built in filtering mechanisms in TAdvStringGrid.  It appears that the filtering only occurs on the data that was in the grid at the time of filter selection.  If you have a filter set and additional rows are added to the grid that are excluded by the filter, they are not filtered out.

Is the built-in filtering only usable for static data?


The filtering is performed on the rows in the grid at the time you set grid.FilterActive := true.

If you would need to add additional rows at some specific time, the expected use is to set grid.FilterActive = false, add the rows and activate the filter again by setting grid.FilterActive := true.