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일

0 개 추천

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

Jimmy Zhan
Jimmy Zhan 2020년 7월 20일
Hi Rachel,
Thanks! It worked. This is exactly what I was looking for.
Best regards
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?
The correct way to do this is:
myData.Group = categorical({'Group 1'},{'Group 1'; 'Group 2'; 'Group 3'}, 'Protected', true);

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Develop Apps Using App Designer에 대해 자세히 알아보기

제품

질문:

2020년 7월 17일

편집:

2021년 3월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by