How to change a cell table from numeric to string?

4 次查看(过去 30 天)
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);
  3 个评论
Stephen23
Stephen23 2015-5-15
编辑:Stephen23 2015-5-16
@ Adam Taher: please do one of these:
  • format the code (you can use the {} Code button just above the textbox, and please remove the blank lines too!.
  • delete the code from the text, and upload the file using the paperclip button. You will then need to push Choose file and Attach file.
Adam Taher
Adam Taher 2015-5-15
i'm sorry, i'm new to this. First when I typed it, the preview showed me something even worse, I had to put lines for that. Hopefully now is better.

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2015-5-15
You are using GUIDE. Go into the Properties for the uitable and set the 'ColumnFormat' to 'char' for all of the columns you want to now be strings.
  1 个评论
Adam Taher
Adam Taher 2015-5-15
There is no 'char' format. There is 'let matlab choose', 'numeric', 'text', 'logical', 'choice list' and 'custom'. I suppose you mean 'text', but even this one doesn't work. Neither 'let matlab choose'

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by