gwt /
gwt /
71e01a1ef6d5742d9f2821bd60e3eb4d6de905cf In IE, AbstractCellTable replaces a table section by first removing existing tr
elements, and then adding new tr elements one by one. This could really slow
down rendering performance especially if there are many rows to remove and many
rows to add (e.g., 500 rows in one table page, and go to next page).
This change introduces a faster rendering approach where the new html is set to a new
DIV element (that's not attached to the body). Next the entire table section is
swapped with the existing table section. A new interface
TableSectionChangeHandler is introduced so that the subclasses (e.g., CellTable,
DataGrid) can respond to the section swapping event and update their internal
reference to the sections. This is critical since they're usually responsible
for returning the reference for AbstractCellTable to locate the correct table
sections.
When tested in IE9 with IE7 emulate mode, the time to replace 100 rows with 400
new rows in a 30 columns table reduced from 1.4s to 200ms. Tests in other IE
versions return similar results.
Review by: jlabanca@google.com
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10690 8db76d5a-ed1c-0410-87a9-c151d255dfc7
3 files changed