filter table rows using javascript

What is the best way to filter a table so that only rows that pass a javascript filter are shown?  Kind of like a regular filter, except I can’t express my filter as a SOQL expression (it is too complex and requires calculation based on the rows).  And it’s very much like Context (in memory filtering, rather than SOQL filtering), except that I want to call Javascript to make the determination rather than relating to another table.

Currently I am using model.abandonRow / model.removeRowById, and that generally works, except that the row counters and page counters get all messed up.

Is there a better way to approach this problem?

Thanks,

- Chris