Creating a Dynamic Table using push button in Matlab GUI

10 Ansichten (letzte 30 Tage)
Chris Dan
Chris Dan am 7 Jul. 2020
Beantwortet: Chris Dan am 8 Jul. 2020
Hello,
I am creating a dynamic table using Matlab GUI, so far it is going good. I will atach my code:
function EVRIM_GUI
f = figure('Visible','off','Units', 'centimeters', 'Position',[1.5,1.5,28,16.5]);
CreateBoundary = uicontrol('Style','pushbutton','String','CreateBoundary','Units', 'centimeters','Position',[21.5,8,3,1],'Callback',{@CreateBoundary_Callback});
AssemblyData5 = {0,0,0,0};
function CreateBoundary_Callback(source,eventdata)
AssemblyTable5= uitable(f, 'Units', 'centimeters','Position', [12,1,9,5], 'Data', AssemblyData5,'ColumnEditable',[true, true, true,true], 'ColumnName',{'Position/m'; 'BodayName1';'BodyName2';'Type'},'CellEditCallback', {@AssemblyEdit_Callback5});
for TempIndex5= 1:4
AssemblyData5{TempIndex5,1} = 0
AssemblyData5{TempIndex5,2} = 0;
AssemblyData5{TempIndex5,3} = 0;
AssemblyData5{TempIndex5,4} = 0;
end
set(AssemblyTable5, 'Data',AssemblyData5);
end
I want to remove the for loop to create the number of rows in the table, it should only display 1 row initially, and when the user enters the data in the row and presses enter, another row should appear.
Does anybody knows what to change in it?

Akzeptierte Antwort

Chris Dan
Chris Dan am 8 Jul. 2020
I found the answer:
function CreateBoundary_Callback(source,eventdata)
set(AssemblyTable5, 'visible', 'on')
data = get(AssemblyTable5, 'data');
data(end+1,:)={0};
set(AssemblyTable5,'data',data)
end

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by