Add row of uitable using UICONTROL

How can increase the number of row of the uitable using uicontrol as shown on the image. I have this code but I can't find a way to make it work,
f = figure('Position',[700 200 240 200],'Name','Add Derated Unit','NumberTitle','off');
derated = uitable(f);
derated.ColumnName = {'Rating(MW)','FOR/State Probability'};
derated.RowName = [];
derated.Data = [0 0; 0 0; 0 0];
derated.Position(3) = derated.Extent(3);
derated.Position(4) = derated.Extent(4);
derated.ColumnEditable = [true true];
btn = uicontrol('Style', 'pushbutton', 'String', 'Add Row',...
'Position', [20 100 50 20], 'Callback', @add_row);
function add_row(btn, ~, derated)
data = get(derated, 'data');
data(end+1,:) = 0;
set(derated,'data',data);

 Accepted Answer

btn = uicontrol('Style', 'pushbutton', 'String', 'Add Row',...
'Position', [20 100 50 20], 'Callback', {@add_row, derated});

3 Comments

thanks, it's working
How can I place the uitable on the topmost part of the figure so that when I add a row of the table, it will be shown it's whole table without scroll bar?
I recommend creating a uipanel to put the uitable into. That will make it clearer how you should position your other elements such as your uicontrol and any graphics you might have.
Then when you do create the uitable, set the uipanel as its Parent, and set Units to 'normal', and set Position to [0 0 1 1] so that it takes up the entire uipanel.

Sign in to comment.

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!