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.

 Réponse acceptée

Walter Roberson
Walter Roberson le 2 Déc 2011

0 votes

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

6 commentaires

Guilherne
Guilherne le 2 Déc 2011
It worked but just with numbers, now i can't use strings in the uitable.
Walter Roberson
Walter Roberson le 2 Déc 2011
newd = get(handles.uitable,'Data');
charlocs = cellfun(@ischar, newd);
newd(charlocs) = {''};
newd(~charlocs) = {[]};
set(handles.uitable, 'Data', newd);
Guilherne
Guilherne le 3 Déc 2011
thanks, it really worked.
ElizabethR
ElizabethR le 23 Juin 2016
Modifié(e) : ElizabethR le 23 Juin 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
Walter Roberson
Walter Roberson le 23 Juin 2016
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 le 24 Juin 2016
hi Walter, thanks for answare my question. Thank you so much for your explanation. God Bless You ^^

Connectez-vous pour commenter.

Plus de réponses (2)

aveks Gebastyan
aveks Gebastyan le 12 Août 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 commentaires

Walter Roberson
Walter Roberson le 12 Août 2018
If [] does not work for those, then use 0 for them. 0 means unchecked.
aveks Gebastyan
aveks Gebastyan le 12 Août 2018
everything doesn't work..
set(handles.checkbox1,0);
or
set(handles.checkbox1,'0');
or
set(handles.checkbox1,[]);
Walter Roberson
Walter Roberson le 12 Août 2018
Modifié(e) : Walter Roberson le 12 Août 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.
aveks Gebastyan
aveks Gebastyan le 12 Août 2018
thanks for answare my question. Thank you so much for your explanation. God Bless You..it's work..
aveks Gebastyan
aveks Gebastyan le 12 Août 2018
yes, my question about uicontrol checkbox.
set(handles.checkbox1, 'Value', 0)
thanks this work..

Connectez-vous pour commenter.

bekir poyraz
bekir poyraz le 29 Mai 2019

0 votes

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

Catégories

En savoir plus sur Develop Apps Using App Designer 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!

Translated by