필터 지우기
필터 지우기

How to change a cell table from numeric to string?

조회 수: 1 (최근 30일)
Adam Taher
Adam Taher 2015년 5월 19일
편집: Stephen23 2016년 3월 6일
Hi, i'm creating a GUI on Matlab and I would like to add a table and be able with pushbuttons to add/delete rows and columns (working with callback functions). This part of my GUI works fine. But my cells are all numeric cells only, and when I write letters, it gives me "NaN". Can someone help? Here is the code:
% --- Executes on button press in pushbutton7.
*% ADD ROW %*
function pushbutton7_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
data = get(handles.uitable, 'data');
data(end+1,:) = 0;
set(handles.uitable, 'data', data);
% --- Executes on button press in pushbutton8.
*% ADD COLUMN %*
function pushbutton8_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
data = get(handles.uitable, 'data');
data(:,end+1) = 0;
set(handles.uitable, 'data', data);
% --- Executes when entered data in editable cell(s) in uitable.
*% ADD TABLE %*
function uitable_CellEditCallback(hObject, eventdata, handles)
%hObject handle to uitable (see GCBO)
%eventdata structure with the following fields (see MATLAB.UI.CONTROL.TABLE)
%Indices: row and column indices of the cell(s) edited
%PreviousData: previous data for the cell(s) edited
%EditData: string(s) entered by the user
%NewData: EditData or its converted form set on the Data property. Empty if Data was not changed
%Error: error string when failed to convert EditData to appropriate value for Data
% handles structure with handles and user data (see GUIDATA)
data = get(hObject,'data');
display(data);

채택된 답변

Walter Roberson
Walter Roberson 2015년 5월 19일
Use the property inspector on the uitable to set the ColumnFormat property to 'string'.
  댓글 수: 1
MM BS
MM BS 2016년 3월 5일
I have the same problem but I dont use Guide : I do it manully (directly) :
a={};
for i=1:10
a{i,5}=true;
end
h = uitable('data',a, ...
'columnformat', {'numeric','char','logical',{'str1','str2'},'logical'}, ...
'columneditable',true);
What I can do to impose to matlab to recongnize the string when it's a string format on the culmn?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by