Start Building Professional
Web Apps Today


 
Categories Question details Back To List
Question  posted by Lgilles on Mar 31, 2008 06:30
open dhtmlx forum
enableSmartRendering not working with "tree" column type

Hi,

I'm trying to figure out how to deal with big data set and I'm trying the differents approaches that you propose.
Here's what my tests results:

- Pagination

goods :
the DOM is not overpopulated, and the page load fast
bad :
if user jump to last page, its load all the previous node in cache, but I think that with TreeGrid, It is the only way to do.
if user click on minus/plus, child nodes are opened and sometime teir cannot be closed/opened anymore

- Distributed Parsing loading mode
goods:
The browser is avaible during the loading process
bad:
The DOM is hudge, making the browser slow

- SmartRendering

Its seems that SmartRendering should be the best solution, for fast loading and little DOM.

It works fine with a standard grid, but I've tried to put a "tree" column type with childs rows, and it gives me a JS error :

407 eXcell_tree.prototype.setValueA = function(content){
408 this.cell.parentNode.valTag.innerHTML=content; <=== here
409 if (this.grid._onCCH)
410 this.grid._onCCH(this.cell.parentNode.idd,this.cell._cellIndex,content);
411 }


So I'm wondering if the SmartRendering engine is actually supported for dHtmlxTreeGrid or only for dHtmlxGrid. I've take a developer licence (1 month) and I really need to get the TreeGrid handle big datasets, so I think the solution is either SmartRendering (the most elegant) or Pagination (but their is still the bug on minus/plus and the loading time for last items)


Thanks you in advance,

Laurent
Answer posted by Support on Mar 31, 2008 08:08
Current version of dhtmlxgrid supports Smart Rendering only for plain grids, it will not work for TreeGrid.
In case of TreeGrid the next can be used
    a) Dynamical loading - allow to load branche content dynamically , on branch open
    b) SmartXMLParsing  - loads all data at once , but parse only opened branches
Answer posted by lgilles on Mar 31, 2008 12:28

Hi,

i'm little confused here, when I choosed this component, I based my choice upon online features description of TreeGrid, where this can be founded:

Professional Edition Features are:

  • ...
  • Loading XML from String
  • Frozen columns
  • Smart Rendering
  • ...

Having choosed the commercial licence, can we discuss how this smart rendering feature can be implemented for the Tree columns, based on the existing one ? The fact is that is I'll surely use the SmartXMLParsing  feature, but this not solve the DOM size problem and if the root node contains the majority of the tree node (or globally, a single node contains lots of childs), the SmartXMLParsing doesn't fit the need..

Is their a technical problem reguarding implementing Smart Rendering for TreeGrid ?

Thanks in advance,

Laurent

Answer posted on Apr 01, 2008 06:23

Answer posted by Support on Apr 02, 2008 01:27
>>Is their a technical problem reguarding implementing Smart Rendering for TreeGrid ?
Smart Rendering available only in plain mode ( Tree can use SmartXMLParsing - slightly different approach used not on view state, but on closed|opened branches )

>>but this not solve the DOM size problem and if the root node contains the majority of the tree node
It is true, smartXMLParsing works well in case of deep hierarchy, but not works well in described situations.

The mentioned lines was refer to TreeGrid in plain mode ( which probably was reason of confusing, we will update text on TreeGrid page to prevent such problems in future )

Please contact us directly at sales@dhtmlx.com if you have more questions.