Hi
I've the code of an old version of the infragistics suite (v2007.3) and I've found a very weird performance problem that arises when using IE8.
I'm reporting it because it is occurring also in your demo site that is using the version 2009.1, but I don't know if this problem has been solved in the hotfix you have released for the 2009.1.
The problem is in this javascript procedure: file 'ig_webgrid_dom.js', function "init" contained in object igtbl_ptsRow. The actual problem is this line of code
tr.cells[j].id = cellId.join(
"_");
That line of code (the setting of the id of a cell) is very very very slow under IE8, but has no impact with IE7.
Can you tell me whether this issue has been solved in v2009.1 hotfix?
Is the source code of the hotfix available upon buying v2009.1?
Best regards, Andrea Pirola
We ran into this issue as well, but our primary problem was the incredibly poor performance when the user performed client-side actions such as sorting or filtering (even after installing the July hotfix). Using the research by the original poster regarding the increase in performance when the table did not contain a colgroup element, we devised a workaround that causes a slight delay on the initial load, but resolves all other performance issues, including situations where the grid is contained in an Ajax update panel.
The basic approach is to save the colgroup element in the table, remove it, ask the grid to generate all row ids, then restore the colgroup element. Executing this code at the end of igtbl_initGrid handles all scenarios that we have tested. For those that are interested, here is the code that we used to work around the problem:
function InitializeGridIds(oGrid) { try { var oChild = oGrid.Element.childNodes[0]; try { oGrid.Element.removeChild(oChild); for (var nI = 0; nI < oGrid.Rows.length; nI++) { var oRow = oGrid.Rows.getRow(nI); } } finally { oGrid.Element.insertBefore(oChild, oGrid.Element.childNodes[0]); } } catch (ex) { alert(ex.message); }}
We modified the end of igtbl_initGrid as follows:
igtbl_getElementById(grid.ClientID).control = grid; // Ensure the grid ids are properly initialized InitializeGridIds(grid); return grid;
This sounds to me like a completely different issue. I'd suggest you asking about it in the WARP forum, or contact the dev support. Thanks.
Turning off the view state improved the performance, however, IE8 does a full post back for Async calls and that produces unwanted result for me. IE7, IE6,Firefox, Safari work fine. Is there something specific for IE8 that can be done such that it does not do the full postback? I am using WebAsynchRefreshPanel.
The service release does fix the problem, except for the Async refresh. Is there something else that needs to be done for async refresh. I am not using Filters and may be turning that off on Async may help. But need to know how?
regards,
Rajiv.
Hello,
If the provided workaround does not make a difference in your case, it is probably something else. I would recommend you to contact dev support for an in-depth evaluation. Thanks.