Problem with uitable with Logical cell and default value of 'true'

3 views (last 30 days)
I'm trying to build a uitable 1x2.
Cell(1,1) format is a 'logical'; Cell(1,2) is 'char'
handles.SeedTable = uitable(...
'ColumnName',{'Shuffle' 'Seed#'},...
'ColumnFormat',{'logical','char'},...
'ColumnEditable',[true true],...
'RowName',{'Seed'},...
'Data',[{'true'}, {'Random#'} ]);
When I run my file:
When I press the checkbox to uncheck cell(1,1) nothing happens. If i do not set the cell to be true by default - all is good (i.e. remove the line:
'Data',[{'true'}, {'Random#'}

Accepted Answer

Sean de Wolski
Sean de Wolski on 13 Mar 2013
This is because 'True' is interpretted as a string for which any non-zero value is true. Thus it will always be true.
Replacing with true should resolve this:
uitable(...
'ColumnName',{'Shuffle' 'Seed#'},...
'ColumnFormat',{'logical','char'},...
'ColumnEditable',[true true],...
'RowName',{'Seed'},...
'Data',[{true}, {'Random#'} ]);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!