Hi,
We are actually evaluating the DHTMLX Grid plugin, and we found it kind of slow (in our use case), and by slow I mean 3-4 secs to render 3 rows (but with a lot of columns (60~ish).
So I read the documentation about loading big datasets, and stumble upon three things:
enableSmartRendering(true)
start/stopFastOperations()
and enableDistributedParsing().
The first one did not bring any noticeable speed improvement,
The second one seems to work but it’s breaking some of our custom code (for a specific column id we are changing the value dynamically, the columns positions are not observed, and columns flagged as hidden are still displayed).
So I try the second one, but this time I can’t load data, it seems that the parameters are not the same for some event handlers (onXLE).
So i ended up doing this:
- I create a document fragment
- I attach a div element to it
- I instanciate the grid on this particular element.
- Once I’m done with the custom logic and data processing, I attach the fragment to the page
As a result the speed rendering has been drastically increased (down to less than a second).
So I would like to know, what I did wrong when I used the first methods (I can provide the code) ?
And also is this solution viable?
PS: I also noticed that the csv export does not take in account if a column is hidden or not, and it does not wrap field with double quotes( to prevent for example to have a value with comas to break the formatting).