app designer ui table drop down selection

12 ビュー (過去 30 日間)
Jimmy Zhan
Jimmy Zhan 2020 年 7 月 17 日
編集済み: Andrea Carignano 2021 年 3 月 19 日
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

採用された回答

Rachel Surridge
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
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
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 ExchangeInteractive Control and Callbacks についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by