I was having performance issue with a grid containing ~570 rows and treegrid enabled.
When the row had a lot of child rows, whenever I tried to expand or collapse it, it was taking about 3-4 seconds to do it (unnaceptable
).
The solution I found was to modify the grid.treegrid.js and remove the “context” information from the selector.
expandRow: function(record) {
….
//$(“#” + id, $t.grid.bDiv).css(“display”, “”); //ORIGINAL CODE (SLOW)
$(“#” + id).css(“display”, “”); //NEW CODE (FAST)
…
},
collapseRow: function(record) {
…
//$(“#” + id, $t.grid.bDiv).css(“display”, “none”); //ORIGINAL CODE (SLOW)
$(“#” + id).css(“display”, “none”); //NEW CODE (FAST)
…
}
We all know that using context was supposed to speed up the selector, but in this case it was doing exactly the opposite…
After removing the context, the expand/collapse operation now takes ~1 second… good enough.
I'm not sure this was the more appropriate way to achieve it, but it worked for me.
Copyright 2014 TriRand LtdAll Rights ReservedRSS
Back to Top