uitable's cells as a readonly
Afficher commentaires plus anciens
Hi,
I would like to know how I can set several cells of a uitable like a readonly effect.
Thanks
regards.
2 commentaires
Sarah Wait Zaranek
le 1 Mar 2011
Would you like them to be not editable? Did you already try the "ColumnEditable" property?
Mtlb Usr
le 2 Mar 2011
Réponse acceptée
Plus de réponses (1)
Oleg Komarov
le 1 Mar 2011
Here an example that allows you to set as non editable just some cells of a column:
function exampleGUI
f = figure('Position',[200 200 400 150]);
dat = rand(3);
cnames = {'X-Data','Y-Data','Z-Data'};
rnames = {'First','Second','Third'};
t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,...
'RowName',rnames,'Position',[20 20 360 100],...
'ColumnEditable',[true true true],'CellEditCallback',@t_ced);
function t_ced(varargin)
% Retrieve info on edited cell
edC = varargin{2};
% Transform subscipts of selected cell into idx
idx = sub2ind(size(dat),edC.Indices(1),edC.Indices(2));
% If idx falls into 5-9 range set back previous value
if ismember(idx, 5:9)
data = get(t,'data');
data(idx) = edC.PreviousData;
set(t,'data',data)
end
end
end
Save it as exampleGUI and run it. Only cells 5-9 are non editable.
3 commentaires
Mtlb Usr
le 2 Mar 2011
Oleg Komarov
le 2 Mar 2011
Change ColumnEditable to Editable if that's the case for your version.
Mtlb Usr
le 3 Mar 2011
Catégories
En savoir plus sur App Building dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!