Second attempt to fix #777, still ensuring the rendering row count is sensible

The original issue was that when filtering dropped the filtered row count to under the virtualisation limit the formula used gave the total data source length as a result, leading to potentially very large numbers of rendered rows.

The first attempt to fix misinterpreted the role of various variables, and was incorrect.  This led to parts of the grid not rendering under some circumstances.

This fix corrects that misunderstanding, and reverts the original formula but substituting `filteredRows.length` for `data.length` still avoiding the rendering of the data source length number of rows.