I have a ListGrid with editing by row. While editing a row, I experience some slowness when navigating with the "TAB" key from one cell to the next cell of the line.
So far I found out the following:
The slowness seems to be related to overriding ListGrid.createRecordComponent().
For some reason the navigation with the TAB key becomes slower depending on the number of records available in the datasource.
In order to isolate the root cause I have build a minimal example with a ListGrid and a simple ImgButton in one of the columns.
It is derived from the standard example com.smartgwt.sample.BuiltInDS.
I have attached two stack traces of IE profiling. In both samples I navigated three times between edited cells by pressing the TAB key.
* In "tabKeyNavigation_With_Embedded_Components.PNG" we see that changing the edited cell triggers isc_Gridbody_redraw, which seems to be rather costly.
* For the second stacktrace "tabKeyNavigation_Without_Embedded_Components.PNG" I have removed the overridden createRecordComponent() method. In this case TAB-key navigation works fast. The stack trace shows that isc_Gridbody_redraw is not triggered.
I'm wondering whether the call to isc_Gridbody_redraw is really required in the first case?
I'm using SmartGWT Framework (v9.0p_2013-09-17/PowerEdition Deployment) and IE 9. Source code of the minmal sample is attached below.
So far I found out the following:
The slowness seems to be related to overriding ListGrid.createRecordComponent().
For some reason the navigation with the TAB key becomes slower depending on the number of records available in the datasource.
In order to isolate the root cause I have build a minimal example with a ListGrid and a simple ImgButton in one of the columns.
It is derived from the standard example com.smartgwt.sample.BuiltInDS.
I have attached two stack traces of IE profiling. In both samples I navigated three times between edited cells by pressing the TAB key.
* In "tabKeyNavigation_With_Embedded_Components.PNG" we see that changing the edited cell triggers isc_Gridbody_redraw, which seems to be rather costly.
* For the second stacktrace "tabKeyNavigation_Without_Embedded_Components.PNG" I have removed the overridden createRecordComponent() method. In this case TAB-key navigation works fast. The stack trace shows that isc_Gridbody_redraw is not triggered.
I'm wondering whether the call to isc_Gridbody_redraw is really required in the first case?
I'm using SmartGWT Framework (v9.0p_2013-09-17/PowerEdition Deployment) and IE 9. Source code of the minmal sample is attached below.
Comment