From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
08-20-2018 10:55 AM
I have a strict typedef I'm using as a control for a user to input a set of datapoints. It has a few numerical elements, a couple checkboxes, and a couple more clusters within it. I'd like the user to be able to click the first box, type some stuff, hit Tab, and have it go to the next box through the control.
Unfortunately I don't see a way to have the control Tab between the sub-clusters in the main control. It just stays within whichever one you started with and loops back.
Is there a simple way to do this *other than* manually handling the Tab events in an event structure? My Google-fu failed me on this... perhaps I'm using some poor search terms.
The example I provided has one instance of the custom control and an array of them. The user will be filling out a reasonably large array. Tabbing between rows would be the icing on the cake, but my gut tells me that one I'll need to manually handle.
Thanks for any tips!
08-20-2018 11:43 AM
I believe you will have to manually handle, at least that is what I did for a project.
There is a shortcut, that I cannot remember, hitting tab with another key that will get to the next cluster, but for me it was too much to ask the user to remember that combination, everybody is used to just tab.
mcduff
08-20-2018 01:38 PM
Hi Bert,
a simple solution would be to use a different cluster just for the UI.
Instead of cluster of [3 clusters] I would use a simple cluster of [Name, ID, XYZ, XYZ] - just for the UI!
Now you can set tabbing order as needed. You could even use some decorations to group related controls. All you have to do now is to convert from one data representation to the other…
(I also like listboxes instead of arrays of clusters for the UI. Sometimes I use the listbox just to select a full row (aka cluster) and have the user do the input in controls next to the listbox.)
08-20-2018 02:47 PM
@GerdW wrote:
Hi Bert,
a simple solution would be to use a different cluster just for the UI.
Instead of cluster of [3 clusters] I would use a simple cluster of [Name, ID, XYZ, XYZ] - just for the UI!
Now you can set tabbing order as needed. You could even use some decorations to group related controls. All you have to do now is to convert from one data representation to the other…
...
I think it was Michael Avaliotis many years ago writing
"Your GUI should not dictate the data structures used in your code."
Or something to that effect.
Ben