Storing values from editable gui table in a variable

조회 수: 12 (최근 30일)
Bas van der Veen
Bas van der Veen 2019년 10월 29일
댓글: Bas van der Veen 2019년 11월 1일
I'm trying to make an editable ui table that outputs a matrix of zero's and one's depending on which checkboxes in the table are checked. This matrix with the edited values should be stored in A, but I cannot figure out why this doesn't happen. This is my code:
function [A] = Gui()
fig = uifigure;
tdata = table('Size',[8 9],'VariableTypes',{'double','logical','logical','logical','logical','logical','logical','logical','logical'});
uit = uitable('Parent',fig,'Data',tdata,'ColumnEditable',true,'ColumnWidth',{2 2 2 2 2 2 2 2 2});
btn = uibutton(fig,'ButtonPushedFcn', @(btn,event) StoreTable(uit));
btn.Position = [80 80 100 22];
btn.Text = 'Store';
and:
function [A] = StoreTable(uit)
A = get(uit, 'Data');
disp(A);
Thanks in advance,
Bas

채택된 답변

Subhadeep Koley
Subhadeep Koley 2019년 11월 1일
편집: Subhadeep Koley 2019년 11월 1일
I assume that you want to store the table in a variable in the workspace. You can achieve the same with the assignin() function. Refer the following code.
function GUI()
fig = uifigure;
tdata = table('Size',[8 9],'VariableTypes',{'double','logical','logical','logical','logical','logical','logical','logical','logical'});
uit = uitable('Parent',fig,'Data',tdata,'ColumnEditable',true,'ColumnWidth',{2 2 2 2 2 2 2 2 2});
uibutton(fig,'Position',[80 80 100 22],'Text','Store','ButtonPushedFcn', @(btn,event)StoreTable(uit));
end
function StoreTable(uit)
A = get(uit, 'Data');
disp(A);
A = table2array(A); % Comment out this line if you want data in Table format itself
assignin('base','A',A); % Assigning the table into the MATLAB base worksapce
end
  댓글 수: 1
Bas van der Veen
Bas van der Veen 2019년 11월 1일
Yes thank you, that was what I was looking for. I searched a lot on the web and on this forum but I never came across this assignin() command.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Develop uifigure-Based Apps에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by