how to activate/deactivate some boxes of iutable depending on the entry in the first box

hi everybody,
I have the following iutable,
is it possible to deactivate (make it uneditable) boxes A for exemple when typ is "1" and box B, C when typ is "0" by clicking on the button "set" ?
the button save :
function save_Callback(hObject, eventdata, handles) data = get(handles.uitable1, 'data'); disp(data)
since I set the boxes as editable boxes in the inspector property.
thank you

 Accepted Answer

3 Comments

Thanks, this is how I wrote the code(it may help someone)
% --- Executes on button press in set.
function set_Callback(hObject, eventdata, handles)
data = get(handles.uitable1, 'data');
[m,n]=size(data);
for i= 1:m
if data(i,1)==0
for k=2:4
data(i,2)=0;
data(i,3)=0;
end
end
if data(i,1)==1
for k=2:4
data(i,4)=0;
end
end
end
set(handles.uitable1, 'data', data);
data
there is certainly a way to get it shorter, is there not ?
I do not see how this code achieves what you want. You are just setting the values to zero and not making it uneditable. This can also be achieved without for loops and it is not at all clear what you are trying to achieve with the k-loop as this k is not used inside the loop. This is the correct code to do this:
function set_Callback(hObject,eventdata,handles)
data = get(handles.uitable1,'data')
idx = (data(:,1) == 0);
data(idx,2:3) =0;
data(~idx,4) = 0;
set(handles.uitbale1,'data',data);
k loop ist useless indeed since I dont need to run through the row,also I am quit satisfied with setting the values to zeros! thanks again

Sign in to comment.

More Answers (0)

Categories

Asked:

on 16 Jun 2015

Edited:

on 17 Jun 2015

Community Treasure Hunt

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

Start Hunting!