I want to show data on a table. This table will start small (<40 elements), but at time goes on it will grow a lot(>1000 elements).

Additionnally, the user want to have a filter functionnalities on any column.

Now, I'm tempted to use a FilterTableViewer. Displaying and sorting on the client is really why we are using a javascript application. But I also clearly see that the browser have a hard time drawring the table once we reach 400 elements.

Would it help if I bind a FilterTableViewer with a PagingViewer (that does not fetch every page from the server, but instead from memory)? Where are the bottlenecks, the filter mechanism, or the actual drawing?

I know my last resort would be to do all that on the server, but if I can do everything on the client then it will be a lot better.