uitable's cells as a readonly
19 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I would like to know how I can set several cells of a uitable like a readonly effect.
Thanks
regards.
2 comentarios
Sarah Wait Zaranek
el 1 de Mzo. de 2011
Would you like them to be not editable? Did you already try the "ColumnEditable" property?
Respuesta aceptada
Mtlb Usr
el 3 de Mzo. de 2011
2 comentarios
Oleg Komarov
el 3 de Mzo. de 2011
Unfortunately I see the general problem but I don't have R2007b, don't see how I can help you.
* You may try to update your current version, if feasible
* Use this submission http://www.mathworks.com/matlabcentral/fileexchange/11201
* This thread may be useful: http://www.mathworks.com/matlabcentral/newsreader/view_thread/165066
* And finally this migration note for uitable from 2007b to 2008a: http://www.mathworks.com/help/techdoc/uitools_csh/error_pages/uitable_errorpage.html
Más respuestas (1)
Oleg Komarov
el 1 de Mzo. de 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 comentarios
Oleg Komarov
el 2 de Mzo. de 2011
Change ColumnEditable to Editable if that's the case for your version.
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!