How to add additional rows to uitable?
34 views (last 30 days)
I have (X,Y) vextor pairs for storing spectral data. If someone wants to correct the vectors I make an uitable user input, where users can correct, replace etc. the data they have (uitable has two columns). Is there any easy way to add new rows (or columns??) to the existing uitable if the user wants to add some extra data not just correct the existing data?
I think it should be possible because in the variable window you can easily change the size of a variable just using the matrix where the variable is written, simply put a number to any matrix element. The variable size will immediately change and the missing values would be filled by zero. I would like to have something similar.
Mario Malic on 8 Mar 2021
Edited: Mario Malic on 8 Mar 2021
KeyPressFcn callback, see UITable callbacks. Create a CellSelectedFcn callback first that saves selected cell in a property so you can access it from anywhere. Then with KeyPressFcn detect if button 'insert' is pressed, if yes, insert a row into the Data property of uitable.
If you want only to add the row only at the end of the table, then KeyPressFcn will be sufficient,
I have made a demo app for this purpose here. If you add the vector with any values to the component, it will expand
app.UITable.Data(end+1) = zeros(1, width(app.UITable.Data));