Данные ячеек, которые вы хотите изменить, должны быть в правильном формате.
Есть две проблемы:
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) ) ];
person
thewaywewalk
schedule
15.07.2014