Change the numer rows of a uitable in MATLAB gui automatically using GUIDE?

2 vues (au cours des 30 derniers jours)
Nikhil Tamhankar
Nikhil Tamhankar le 19 Nov 2017
How to create an option (text box) to enter a number to automatically change the number rows of a uitable in MATLAB gui using GUIDE?

Réponses (2)

Walter Roberson
Walter Roberson le 19 Nov 2017
Modifié(e) : Walter Roberson le 20 Nov 2017
uit = uitable('Data', [0 0 0]);
FirstN = @(Matrix, N) Matrix(1:N, :);
ChopN = @(Matrix, N) FirstN([Matrix; zeros(N, size(Matrix,2))], N);
uicontrol('style', 'edit', 'Callback', @(src, event) set(uit, 'data', ChopN(get(uit, 'data'), str2double(get(src, 'string'))));
  10 commentaires
Walter Roberson
Walter Roberson le 10 Juil 2018
You programmed a cell edit callback, which is a callback that activates when the user edits data in the uitable. If you want the change to happen when the user edits the edit box, then
function edit3_Callback(hObject, eventdata, handles)
FirstN = @(Matrix, N) Matrix(1:N, :);
ChopN = @(Matrix, N) FirstN([Matrix; zeros(N, size(Matrix,2))], N);
set(handles.uitable1, 'Data', ChopN(get(handles.uitable1, 'Data'), str2double(get( hObject, 'string'))) )
Vinayak Appasaheb Bhatte
Vinayak Appasaheb Bhatte le 10 Juil 2018
Thanks a lot @Walter for your kind explanation, I did work finally.

Connectez-vous pour commenter.


Image Analyst
Image Analyst le 20 Nov 2017
You can just assign the data to it and it will automatically adjust its size to handle/display all the rows and columns in your data matrix:
handles.uitable1.Data = yourData;
Or, you can just click on the little icon in the Columns entry in the Property Inspector, which you can bring up in GUIDE by double clicking on the table control.
  3 commentaires
Image Analyst
Image Analyst le 21 Nov 2017
Basically get the string from the edit box
contentsString = handles.edit1.String;
Then parse contentsString to get what you want and expect - a row or whole matrix of whatever - and load that into yourData and then use the code I originally gave you:
handles.uitable1.Data = yourData;
Nikhil Tamhankar
Nikhil Tamhankar le 25 Nov 2017
Thank you sir. Will try to understand your suggestion and try to implement it.

Connectez-vous pour commenter.

Catégories

En savoir plus sur App Building dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by