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.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 2 Dez. 2011

0 Stimmen

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

6 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

aveks Gebastyan
aveks Gebastyan am 12 Aug. 2018

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

bekir poyraz
bekir poyraz am 29 Mai 2019

0 Stimmen

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

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by