set count numbers of rows in a uitable

22 visualizzazioni (ultimi 30 giorni)
Hi,
I'm trying to modify the first column number for each row( 1 2 3 ...) in an uitable based of each entry from another uitable:
D=get(handles.uitable1,'Data');%GETTING DATA FROM FIRST TABLE
Index=get(handles.uitable1,'UserData');
a = D(Index.Indices(:,1), :);
old_data=get(handles.uitable4,'Data'); %GETTING OLD DATA FROM SECOND TABLE
data_azi = datetime;
data_azi.Format = 'MM.dd.yyyy';
a = array2table(a);
a.a1 = 1;
a.a4 = a.a2;
a.a2 = char(data_azi);
a.a2 = {a.a2};
a = table2cell(a);
new_data = [old_data; a];
new_data = array2table(new_data);
numarnou = height(new_data);% GET HEIGHT OF OLD AND NEW TABLE
new_data.new_data2 = numarnou;% MODIFY THE RESULT OF ROWS HEIGHTS IN FIRST COLUMN
new_data.new_data2 = {new_data.new_data2};
new_data = table2cell(new_data);
set(handles.uitable4, 'Data',new_data); %SETTING DATA FROM FIRST TABLE
The error:
To assign to or create a variable in a table, the number of rows must match the height of the table.
Where am I wrong?
  6 Commenti
dpb
dpb il 6 Giu 2022
new_data = [old_data; a];
You've catenated more data onto the existing from uitable1 so the height is the total of both tables.
The uitable object is not dynamically resized; I've not used it extensively, but I think the only way to add data entails recreating a new table. Seems klunky, but I've not seen anything that implies there is an addrow functionality.

Accedi per commentare.

Risposta accettata

Cristian Martin
Cristian Martin il 6 Giu 2022
I have found the solution:
old_data=get(handles.uitable4,'Data');
old_data = array2table(old_data);
nr_crt = height(old_data); %HERE I GET THE HEIGHT OF OLD DATA
old_data = table2cell(old_data);
data_azi = datetime;
data_azi.Format = 'MM.dd.yyyy';
a = array2table(a);
a.a1 = 1 + nr_crt; %HERE I ADD THE HEIGHT OF OLD DATA TO THE FIRST COLUMN OF THE NEXT ROW IN SECOND TABLE
a.a4 = a.a2;
a.a2 = char(data_azi);
a.a2 = {a.a2};
a = table2cell(a);
new_data = [old_data; a];
set(handles.uitable4, 'Data',new_data);
  2 Commenti
Cristian Martin
Cristian Martin il 6 Giu 2022
It;s weird to accept my answer , no?
dpb
dpb il 6 Giu 2022
It's OK. I now recall I had seen that before but I just couldn't recall it before...I hadn't used the uitable enough to recall it, but I shoulda'.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange

Prodotti


Release

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by