LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
A-T-R

Extend the functionality of Tables or Multicolumn Listboxes with dropdown menus

Status: Completed

The Data Grid control in LabVIEW NXG 3.0 provides the requested functionality. NI will continue to invest resources in improving the capabilities of the Data Grid in future releases of LabVIEW NXG.

I always wanted to have a table or a (Multicolumn) Listbox that allows me to integrate drop down menus (or other elements)

 

Here's an example from another software (Agilent Benchlink datalogger) which illustrates this quite well:

 

 benchlinkdatalogger.PNG

 

One could realize something similiar by creating his own Array of cluster, but this is cumbersome and very uncomfortable to change/maintain, mainly because of the difficult selection of all the control frames which are placed one over the other...

 

Functionality good, layout questionable...             Layout similar to the picture above, but not very flexible (not an array) and "hard to handle"

arrayofcluster.PNG         SingleClusters.PNG

 

 

PROPOSAL:

Add a new type of list control, behaving similar to a Array of cluster control, where different types of already existing controls can be selected as it's elements, and where those controls are placed next to each other without those annoying and real-estate consuming spaces between them

 

A-T-R

11 Comments
manu.NET
Active Participant

Hello,

 

Very good idea !

 

The listboxes could be improved as dotnet datagridviews. 

 

the cells could be ...

 

  • strings
  • pictures
  • comboboxes
  • dropdown menus
  • ... and why not, custom clusters !

 

Manu.net

Manu.net
Knight of NI
altenbach
Knight of NI

All this (and much more!) could be done directly if he had this idea implemented. 😄

Peter_B
Member

I integrated the type sensitive popup code into my own XControl to deliver this functionality.  

Type Sensitive Popup - LAVA

It took a lot more time than I expected it to and would much have preferred a native implementation available from NI.

 

Peter
ErnieH
Active Participant

Improving the GUI is Loooooooooooooooooooong overdue.

hollowhorse
Member
You can achieve a similar effect to pull-downs with fairly minimal coding by leveraging the "short cut" menus that normally pop up when you right-click on a control. LabVIEW allows you detect which row and column in a multicolumn listbox was clicked, and then use that information to customise the short-cut menu with the appropriate options for that cell. To make the menu appear on a left mouse click (as it would for a drop-down) use the mouse down filter event to trap left-clicks (button 1) and modify them to right-clicks (button 2). By writing your code to differentiate between actual right-clicks and left-clicks (made to look like right-clicks) you can retain the normal right-click menu functionality, should it be needed. You can even display two different lists of cell options depending on whether the cell was left or right clicked. I have used this technique in several applications, to great effect. The only thing missing is the little downward pointing arrow (triangle) in the cell indicating the presence of a pull-down.
Brandyn
Member

awesome idea

Certified LabVIEW Architect
Certified Professional Instructor
nathand
Proven Zealot

I posted a VI that demonstrates how you can create this sort of interface now: http://forums.ni.com/t5/LabVIEW/array-of-cluster/m-p/1822451#M625032

But I agree it would be nice to have a simpler method.

fabions
Member

This is really important. I need to hack into arrays that look like an extension of the table. 


I used to this a lot in Java JTables, that accepted any JComponent to be added to a JTableCell.  

wireman
Member

NI has implemented some of the desired functionality in the LabVIEW NXG Data Grid control. The manual appears to be  a work in progress.

 

http://www.ni.com/documentation/en/labview/2.1/ctrl-ref/data-grid/?prodref=LabVIEW-NXG-2.1

http://www.ni.com/documentation/en/labview/latest/class-ref/datagrid-class/

 

LabVIEW NXG Data Grid.png