Add row of uitable using UICONTROL

1 Ansicht (letzte 30 Tage)
Kim Lopez
Kim Lopez am 17 Nov. 2017
Kommentiert: Walter Roberson am 17 Nov. 2017
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);

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 17 Nov. 2017
btn = uicontrol('Style', 'pushbutton', 'String', 'Add Row',...
'Position', [20 100 50 20], 'Callback', {@add_row, derated});
  3 Kommentare
Kim Lopez
Kim Lopez am 17 Nov. 2017
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?
Walter Roberson
Walter Roberson am 17 Nov. 2017
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Migrate GUIDE Apps 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