Hy, i'm trying to reset the uitable of my GUI but its not working, I used:
set(handles.uitable,'Data','');
It apparently clean the data, but it also doesnt allow me to edit the uitable anymore. I had also used the function "reset":
reset(handles.uitable), But it didnt work either.

 Accepted Answer

Try
set(handles.uitable, 'Data', cell(size(get(handles.uitable,'Data'))));

6 Comments

Guilherne
Guilherne on 2 Dec 2011
It worked but just with numbers, now i can't use strings in the uitable.
newd = get(handles.uitable,'Data');
charlocs = cellfun(@ischar, newd);
newd(charlocs) = {''};
newd(~charlocs) = {[]};
set(handles.uitable, 'Data', newd);
Guilherne
Guilherne on 3 Dec 2011
thanks, it really worked.
ElizabethR
ElizabethR on 23 Jun 2016
Edited: ElizabethR on 23 Jun 2016
hi Walter, i have same problem. but now it has been solved with your code. May i ask what the meaning of @ischar ? newd(charlocs) = {''}; ? newd(~charlocs) = {[]}; ? thank you
uitable 'data' property takes a cell array, each element of which can be a string or numeric. The cellfun(@ischar, newd) runs through each cell entry and tests to see if it is string or not, returning true if it is and false otherwise. The result, charlocs, is the same size as the cell array but is true for the places that were strings and false otherwise. This logical mask is then used to set those places that were strings to be empty strings, and the negation of the logical mask is used to set the other locations to empty arrays. In this way each local is set to the empty version of what it was before, which preserves information about whether the entry was a string or not.
ElizabethR
ElizabethR on 24 Jun 2016
hi Walter, thanks for answare my question. Thank you so much for your explanation. God Bless You ^^

Sign in to comment.

More Answers (2)

aveks Gebastyan
aveks Gebastyan on 12 Aug 2018

0 votes

HI Walter Roberson. thanks for answer.. I have problem same how reset uitable. but it has been solved with your answer above....I have problem again, how to reset or remove checklist on the checkbox?. because I use the checkbox for insert data to uitable. so if we reset data in uitable, the cheklist in checkbox must be lost...
thanks..

5 Comments

If [] does not work for those, then use 0 for them. 0 means unchecked.
everything doesn't work..
set(handles.checkbox1,0);
or
set(handles.checkbox1,'0');
or
set(handles.checkbox1,[]);
Walter Roberson
Walter Roberson on 12 Aug 2018
Edited: Walter Roberson on 12 Aug 2018
Are you asking about uicontrol style checkbox? If so then set their Value property to 0. set(handles.checkbox1, 'Value', 0)
I thought you were asking about uitable checkbox columns.
thanks for answare my question. Thank you so much for your explanation. God Bless You..it's work..
yes, my question about uicontrol checkbox.
set(handles.checkbox1, 'Value', 0)
thanks this work..

Sign in to comment.

bekir poyraz
bekir poyraz on 29 May 2019

0 votes

set(handles.uitable, 'Data', cell(size(get(handles.uitable,'Data'))));
thank you

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!