app designer ui table drop down selection
12 ビュー (過去 30 日間)
古いコメントを表示
Hi,
How can I make cells inside App Designer UITable selectable via drop down menu only but not editable as string?
i.e. I need to limit the possible values of these cells using drop down selection to a list of categorical array, and not letting user type whatever they want.
Thanks
0 件のコメント
採用された回答
Rachel Surridge
2020 年 7 月 17 日
編集済み: Rachel Surridge
2020 年 7 月 17 日
Hi Jimmy,
You can achieve this by making your categorical array protected. Example:
B = categorical(A, 'Protected', true)
This will protect your drop-down menu from edits.
Full implementation of an example:
fig = uifigure;
myData = {'Andrew' 31 'Male'; ...
'Bob' 41 'Male'; ...
'Anne' 20 'Female';};
myData = cell2table(myData, 'VariableNames', {'Name', 'Age','Gender'});
myData.Group = categorical({'Group 1'; 'Group 2'; 'Group 3'}, 'Protected', true);
uit = uitable('Parent', fig, ...
'Position', [100 150 380 100], ...
'ColumnEditable',true, ...
'Data',myData);
3 件のコメント
Andrea Carignano
2021 年 3 月 15 日
It does not work for me. It works only if the groups are as many as the rows of the table. For example if I have
myData.Group = categorical({'Group 1'; 'Group 2'; 'Group 3';'Group 4'}, 'Protected', true);
I get this error
Error using myscript (line 6)
To assign to or create a variable in a table, the number of rows must match the height of the table.
Ideas?
Andrea Carignano
2021 年 3 月 19 日
編集済み: Andrea Carignano
2021 年 3 月 19 日
The correct way to do this is:
myData.Group = categorical({'Group 1'},{'Group 1'; 'Group 2'; 'Group 3'}, 'Protected', true);
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Interactive Control and Callbacks についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!