フィルターのクリア

Cycle trough handles on GUI

2 ビュー (過去 30 日間)
Lorenzo
Lorenzo 2013 年 11 月 6 日
コメント済み: Lorenzo 2013 年 11 月 6 日
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

採用された回答

Lorenzo
Lorenzo 2013 年 11 月 6 日
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…
  2 件のコメント
Walter Roberson
Walter Roberson 2013 年 11 月 6 日
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');
Lorenzo
Lorenzo 2013 年 11 月 6 日
I'm not setting the same thing for all of them. The first option you proposed (dynamic field) seems great! I'll test that!
Thanks for your help!

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2013 年 11 月 6 日

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by