wrong type variable in uitable

function startupFcn(app, set)
app.InstrumTab=LoadInstrum_Struct(set);
app.Setting=set;
app.UITable.Data=app.InstrumTab;
app.UITable.ColumnName=["ProductName";"Ticker";"PointValue";"IntradayMargin";"OvernightMargin";"Slippage(x trade)";"MiniContractTicker";"PointValue1";"IntradayMargin1";"OvernightMargin1";"Slippage1(x trade)";"MicroContractTicker";"PointValue2";"IntradayMargin2";"OvernightMargin2";"Slippage2(x trade)";"Group";"Currency";"ExtraMinUnit"];
app.UITable.ColumnEditable=true;
app.UITable.VariableTypes={'char','char','double','double','double','double','char','double','double','double','double','char','double','double','double','double','char','char','double','logical'};
%questo-...(poi occorre salvarlo)
end
function SaveButtonPushed(app, event)
app.UITableCellSelection();
Instrum_Tab=app.InstrumTab;
disp(Instrum_Tab)
Instrument=string(app.Setting.Instrument);
save(Instrument,'Instrum_Tab');
end
i add data in a table(row 35) and i save it (SaveButtonPushed)
But i see it's a char and not a double (in app.uitable i set :
app.UITable.VariableTypes={'char','char','double','double','double','double','char','double','double','double','double','char','double','double','double','double','char','char','double','logical'};)

6 个评论

I suggest that you attach app.UITable in a .mat file so we can examine it.
only line 35 was added using the editor and then saved
The .mat file doesn't contain a uitable object. It is just the table data as a cell array. You need to do,
T=app.UITable;
save filename.mat T
this:
app.UITable.VariableTypes={'char','char','double','double','double','double','char','double','double','double','double','char','double','double','double','double','char','char','double','logical'};
is not correct
i see error
"Unrecognized property 'VariableTypes' for class 'matlab.ui.control.Table'."
Instrument=app.Setting.Instrument; % try without converting the imported data to string
save(Instrument,'Instrum_Tab');

请先登录,再进行评论。

回答(1 个)

"Unrecognized property 'VariableTypes' for class 'matlab.ui.control.Table'."
Indeed, there is no such property. Why did you put it in there? Perhaps you meant to have,
app.UITable.ColumnFormat={'char','char','numeric','numeric','numeric','numeric',...
'char','numeric','numeric','numeric','numeric','char',...
'numeric','numeric','numeric','numeric','char','char','numeric','logical'};

2 个评论

yes correct...however I can't convert a 'char' to numeric..I still have the problem
Matt J
Matt J 2024-6-1
编辑:Matt J 2024-6-2
The screenshot you are showing is a view of Instrum_Tab in the Variable Editor, not in an app uitable. The reason '50' appears as a char vector is because you entered it in the Variable Editor that way, and there is no influence the app has over that.
Presumably you meant to enter it in the UITable.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

提问:

2024-6-1

编辑:

2024-6-2

Community Treasure Hunt

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

Start Hunting!

Translated by