Unable to check checkboxes AppDesigner

14 ビュー (過去 30 日間)
Colin Krebbers
Colin Krebbers 2019 年 6 月 20 日
回答済み: Jeremy Berke 2024 年 3 月 11 日 13:52
Hi All,
Currently, I'm working on a table which will hold to numeric columns and eight logical columns (in the appeareance of checkboxes).
I've managed to create this table but unless having specified which columns of a row may be edited this does not work.
After configuring the table I set data to it, initializing each checkbox with the false status, being unchecked.
While running the app the checkboxes can be clicked, the tick appears and while releasing the mousebutton dissapears again.
Any help would be great!
Kind regards,
Colin
set(app.GCL, 'ColumnFormat', {'numeric', 'numeric','logical','logical','logical','logical','logical','logical','logical','logical'});
set(app.GCL, 'ColumnEditable', [false, true, true, true, true, true, true, true, true, true]);
newData = [m+1 0 0 0 0 0 0 0 0 0];
app.GCL.Data = [app.GCL.Data;newData];

回答 (2 件)

Dennis
Dennis 2019 年 6 月 20 日
You need to set the values of your checkbox to true or false, not to 0 or 1. MWE:
t=uitable;
t.ColumnFormat={'logical'};
t.ColumnEditable=true;
t.Data=true;
  2 件のコメント
Colin Krebbers
Colin Krebbers 2019 年 6 月 20 日
Hi Dennis,
Thank you for your reply!
Definitely, this would work in GUIDE, however, I'm using AppDesigner and it sadly does not.
The table is created and the row consisting out of 2 numeric fields followed by 8 checkboxes is visible, only point is that I'm not able to change the status of the checkbox accordingly.
Looking forward to your reply.
Dennis
Dennis 2019 年 6 月 21 日
Hi,
the problem is not with your table, but with the values you try to assign to your checkboxes.
I don't see why my example should not work for appdesigner, i included a small example.

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


Jeremy Berke
Jeremy Berke 2024 年 3 月 11 日 13:52
I had the same problem and solved it by using a table as the table.Data property.
For example:
lowerBounds = [-20 -20 -20 -20 -20 -20 5 -1 -20 -20]';
upperBounds = [60 60 60 60 60 60 25 1 20 20]';
optimize = logical([1 1 0 1 1 1 1 0 1 1]');
app.paramTable.Data = table(optimize, lowerBounds, upperBounds);
and this solved the issue.

カテゴリ

Help Center および File ExchangeDevelop Apps Using App Designer についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by