Change the numer rows of a uitable in MATLAB gui automatically using GUIDE?
조회 수: 3 (최근 30일)
이전 댓글 표시
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?
댓글 수: 0
답변 (2개)
Walter Roberson
2017년 11월 19일
편집: Walter Roberson
2017년 11월 20일
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
Walter Roberson
2018년 7월 10일
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
2018년 7월 10일
Thanks a lot @Walter for your kind explanation, I did work finally.
Image Analyst
2017년 11월 20일
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
Image Analyst
2017년 11월 21일
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;
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
