MATLAB Answers

How to add additional rows to uitable?

3 views (last 30 days)
Csaba
Csaba on 8 Mar 2021
Commented: Mario Malic on 8 Mar 2021
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.

Accepted Answer

Mario Malic
Mario Malic on 8 Mar 2021
Edited: Mario Malic on 8 Mar 2021
Hey,
1st option:
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,
2nd option:
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));
  7 Comments
Mario Malic
Mario Malic on 8 Mar 2021
Great! You're welcome.
I have edited this answer.

Sign in to comment.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by