How to center all of my data in my UItable in Appdesigner

3 Ansichten (letzte 30 Tage)
Ali Azizzadeh
Ali Azizzadeh am 10 Dez. 2022
Kommentiert: Eric Delgado am 11 Dez. 2022
i create a table named 'Flowsheet' and i put in im my app
app.UItable2.data = Flowsheet;
the date appears like this 1.47 e+4
  1. i want to center my data in the mention table
  2. i want to show my data with out this format , i want the 'format bank'

Antworten (1)

Eric Delgado
Eric Delgado am 10 Dez. 2022
Try this...
% First issue: transform a numeric value to string, defining your format.
LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Age_string = strsplit(sprintf('%.3f\n', Age), '\n')';
Age_string = Age_string(1:end-1);
T = table(LastName, Age, Age_string)
T = 5×3 table
LastName Age Age_string ___________ ___ __________ {'Sanchez'} 38 {'38.000'} {'Johnson'} 43 {'43.000'} {'Li' } 38 {'38.000'} {'Diaz' } 40 {'40.000'} {'Brown' } 49 {'49.000'}
% Second issue: call uistyle
fig = uifigure;
tab = uitable(fig);
tab.Data = T;
s = uistyle("HorizontalAlignment", "center");
addStyle(tab, s)
  2 Kommentare
Ali Azizzadeh
Ali Azizzadeh am 10 Dez. 2022
Flow_string = strsplit(sprintf('%.3f\n', Flow), '\n')';
Flow_kg_string = strsplit(sprintf('%.3f\n', Flow_kg), '\n')';
D_cons_string = strsplit(sprintf('%.3f\n',D_cons), '\n')';
H2O_string = strsplit(sprintf('%.3f\n', H2O), '\n')';
H2S_string = strsplit(sprintf('%.3f\n', H2S), '\n')';
Temperature_string = strsplit(sprintf('%.3f\n', Temperature), '\n')';
Pressure_string = strsplit(sprintf('%.3f\n', Pressure), '\n')';
Molecular_weight_string = strsplit(sprintf('%.3f\n', Molecular_weight), '\n')';
s = uistyle("HorizontalAlignment",'center','IconAlignment','center');
format bank
app.UITable2.Data(:,1) = StreamNumber;
app.UITable2.Data(:,2) = Flow_string;
app.UITable2.Data(:,3) = Flow_kg_string;
app.UITable2.Data(:,4) = D_cons_string;
app.UITable2.Data(:,5) = H2O_string;
app.UITable2.Data(:,6) = H2S_string;
app.UITable2.Data(:,7) = Temperature_string;
app.UITable2.Data(:,8) = Pressure_string;
app.UITable2.Data(:,9) = Molecular_weight_string;
tab = app.UITable2;
addStyle(tab, s)
this is portion of my code
i have this error when the code below is run
"Conversion to double from cell is not possible."
app.UITable2.Data(:,1) = StreamNumber;
app.UITable2.Data(:,2) = Flow_string;
app.UITable2.Data(:,3) = Flow_kg_string;
app.UITable2.Data(:,4) = D_cons_string;
app.UITable2.Data(:,5) = H2O_string;
app.UITable2.Data(:,6) = H2S_string;
app.UITable2.Data(:,7) = Temperature_string;
app.UITable2.Data(:,8) = Pressure_string;
app.UITable2.Data(:,9) = Molecular_weight_string;
Eric Delgado
Eric Delgado am 11 Dez. 2022
You have to ignore the last element of the conversion...
Age = [38;43;38;40;49]
Age = 5×1
38 43 38 40 49
Age_string = strsplit(sprintf('%.3f\n', Age), '\n')'
Age_string = 6×1 cell array
{'38.000'} {'43.000'} {'38.000'} {'40.000'} {'49.000'} {0×0 char}
% The last element is {''}... ignore it, indexing 1:end-1
Age_string = Age_string(1:end-1)
Age_string = 5×1 cell array
{'38.000'} {'43.000'} {'38.000'} {'40.000'} {'49.000'}
% In your case...
app.UITable2.Data(:,1) = StreamNumber;
app.UITable2.Data(:,2) = Flow_string(1:end-1);
app.UITable2.Data(:,3) = Flow_kg_string(1:end-1);
app.UITable2.Data(:,4) = D_cons_string(1:end-1);
app.UITable2.Data(:,5) = H2O_string(1:end-1);
app.UITable2.Data(:,6) = H2S_string(1:end-1);
app.UITable2.Data(:,7) = Temperature_string(1:end-1);
app.UITable2.Data(:,8) = Pressure_string(1:end-1);
app.UITable2.Data(:,9) = Molecular_weight_string(1:end-1);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Develop Apps Using App Designer 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