having trouble to insert text in GUI table
    4 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Diogo Queirós
 am 23 Jan. 2015
  
    
    
    
    
    Kommentiert: Geoff Hayes
      
      
 am 24 Jan. 2015
            I want to make a table, 'uitable', with 4 collumns and a variable number of rows. The number of rows is determined by an edit text box, 'edit1'. The problem is that I want to insert text in the first collumn, but as soon as i insert any caracter that is not a number, the cell automatically goes to NaN. Can you help me?
edit1 = str2num(char(get(hObject,'String')));
 if ~isempty(edit1) && edit1>0
     edit1 = ceil(edit1);
     data = cell(edit1,4);
     % convert the values matrix to a cell array
     valuesAsCell = mat2cell(data);
     % update the table
     set(handles.uitable,'Data',valuesAsCell{:});
 end
0 Kommentare
Akzeptierte Antwort
  Geoff Hayes
      
      
 am 24 Jan. 2015
        Diogo - this may be a problem that is similar to http://www.mathworks.com/matlabcentral/answers/169197-nan-elements-during-table-data-input-matlab-gui. Your line of code
 data = cell(edit1,4);
creates the cell array where each element is the empty array, []. If you try to populate any of these elements with strings, then you see NaN. Try instead to initialize this array to one of empty strings and reduce your code to simply
 data = cell(edit1,4);
 data(:) = {''};
 % update the table
 set(handles.uitable1,'Data',data);
I used the above code in a simple GUI, and was able to enter non-numeric data in any column (as well as numeric data which will still be considered as a string). Note that I removed the code to convert the array to a cell array (the call to mat2cell) since data is already a cell array.
2 Kommentare
Weitere Antworten (1)
  Zoltán Csáti
      
 am 23 Jan. 2015
        It is because you supplied a string. Convert it to number.
edit1 = str2num(edit1);
edit1 = ceil(edit1);
...
3 Kommentare
Siehe auch
Kategorien
				Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


