That's great, thanks! I guess I'll ty and use eval in order to do that… That's something I've already done in the past but I wasn't sure if I could do that with handles as well…
Cycle trough handles on GUI
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dear all, this is probably a stupid question and it was probably asked a thousand times before… Anyway… I have a GUI with a lot of tables. Every table's content is held by a handle called handle.table1, handle.table2 and so forth.
I would like to be able to change the content of the tables automatically with a for cycle.
So far I'm doing this: set(handle.table1, 'PropertyName', PropertyValue) set(handle.table3, 'PropertyName', PropertyValue) set(handle.table2, 'PropertyName', PropertyValue)
And I would like to do this:
for N=1:20
set(handle.tableN, 'PropertyName', PropertyValue)
end
But… how can I do it? I would like not to change the structure of the handle as that would be a messy solution since I have 4000 lines of code and would require a big rework of the whole GUI…
Thanks a lot!
Lorenzo
0 commentaires
Réponse acceptée
Lorenzo
le 6 Nov 2013
2 commentaires
Walter Roberson
le 6 Nov 2013
You should not use the eval() option for what you want. Use the dynamic structure field name option.
for N=1:20
set(handle.(sprintf('table%d',N)), 'PropertyName', PropertyValue)
end
Or if you are setting the same thing for all of them, no loop is needed if you use
set([handle.table1, handle.table2, handle.table3, .....], 'PropertyName', 'Value');
Plus de réponses (1)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!