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.

 Risposta accettata

Walter Roberson
Walter Roberson il 2 Dic 2011

0 voti

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

6 Commenti

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

Accedi per commentare.

Più risposte (2)

aveks Gebastyan
aveks Gebastyan il 12 Ago 2018

0 voti

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 Commenti

Walter Roberson
Walter Roberson il 12 Ago 2018
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 il 12 Ago 2018
Modificato: Walter Roberson il 12 Ago 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 il 12 Ago 2018
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..

Accedi per commentare.

bekir poyraz
bekir poyraz il 29 Mag 2019

0 voti

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

Categorie

Scopri di più su Develop Apps Using App Designer in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by