您要编辑的单元格的数据需要采用正确的格式。
有两个问题:
1)
data = D(:,1);
我知道您只想使用第一列的数据,但您还需要将其他列声明为本地人。
2)
您的数据不适合columnformat
,因此请使用:
D = {'1', false, false ,false, false, false; ...
'7', false, false, false, false, false};
解决方案:
D = {'1', '2', '3' ,'4', '5','6' ;
'7', '8', '9', '10', '11' ,'12'};
data = [ D(:,1) num2cell( false( size(D,1) , size(D,2)-1) ) ];
%// where the -1 depends on how many "real" data columns you have.
或更通用:
N = 1; %// Number data columns to keep
data = [ D(:,1:N) num2cell( false( size(D,1) , size(D,2)-N) ) ];
总而言之,以下代码有效,现在您需要将其应用于您的案例:
p = figure;
D = {'1', '2', '3' ,'4', '5','6' ;
'7', '8', '9', '10', '11' ,'12'};
data = [ D(:,1) num2cell( false( size(D,1) , size(D,2)-1) ) ];
cnames = {'', 'Left', 'Right','P1', 'P2', 'P3'};
table_resultat_nip=uitable('position',[0 200 500 200],...
'columnname', cnames,...
'rowname', '',...
'data',data,...
'ColumnFormat',{'char','logical','logical','logical','logical','logical'},...
'ColumnEditable',[false, true, true, true, true, true]...
);
关于评论:
好的,一个更通用的案例:
N = 1; %// Number data columns to keep
M = 5; %// Number of checkboxes desired
data = [ D(:,1:N) num2cell( false( size(D,1) , M) ) ];