LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
jlokanis

Tree Control method 'Add Multiple Items to End' should allow for greater customization to tree contents.

Status: New

When trying to make a complex GUI using the tree control, it is often desired to set specific colors and fonts to individual rows, columns and cells within the tree.

A good example of this is a test result dataset where you want to have a tree that has items for each test and sub items for each measurement within each test, then have an additional column that displays the result for each measurement with a colored background, like this:

tree control example.jpg 

 

Unfortunately the method 'Add Multiple Items to End' has a limited number of attributes you can set when adding a set of data:

add items to end.png

The only solution is to add all your items and then loop through each item and set the required cell attributes individually:

set tree extended data.png 

 Even with setting 'defer updates' on while doing this, the process is painstakingly slow for large datasets.

 

The solution would be to add an array of clusters element to the cluster in the 'add items' method that would allow the setting of these extended attributes of the tree.  This way, the data could be processed in the assembly code much faster than setting each element in a for loop, as is required now.

 

This would make the tree control much more useful.  This should not be hard to implement and should be easy to make backward compatible.  It would just require expanding the datatype that stores the tree contents to include this extended data. 

-John
------------------------
Certified LabVIEW Architect
3 Comments
CLema
Member

So did NI just decide to Ignore this request.

 

I think it would be very useful.

fabions
Member

Could be something like Waveform attributes, which have name/value(variant).

jlokanis
Active Participant

Unfortunatly, GUI elements are one thing NI has ignored for many years (going on decades now).  Seems like they don't feel we need any support for modern GUI elements.  It makes it hard to keep up with the user interfaces other languages make possible.  I suppose you coudl always us a .net container for a more modern control, but that is not an easy prospect in most cases.

-John
------------------------
Certified LabVIEW Architect