Adding a column to a UITable and then using it.

3 次查看(过去 30 天)
After a few hours of trying I finally was able to add a column to a UITable
A = zeros([1 size(app.StimInputTable.Data,1)]);
app.StimInputTable.Data.Var4 = A'; % Have to make A a column vector!
for ii = 1:size(app.StimInputTable.Data,1)
app.StimInputTable.Var4(ii) = ...
app.StimInputTable.Data.Var3(ii)/app.StimInputTable.Data.Var2(ii);
But now...
assigning a value to Our new column Var4 gives me
Unrecognized method, property, or field 'Var4' for class 'matlab.ui.control.Table'.
It know what app.StimInputTable.Data.Var3(ii)/app.StimInputTable.Data.Var2(ii);
is so now put it in Var4! How hard can that be?
K>> app.StimInputTable.Data
ans =
4×4 table
Var1 Var2 Var3 Var4
____ ____ ____ ____
4 5 0 0
5 4 1 0
2 3 2 0
3 2 5 0
I can do it 1 row at a time from theCommand window:
K>> app.StimInputTable.Data
ii = 1 (etc)
K>> app.StimInputTable.Data.Var4(ii) = app.StimInputTable.Data.Var3(ii)/app.StimInputTable.Data.Var2(ii)
Although the "answer" I get is my whole
app =
MouseOdor4 with properties:
MouseOdor: [1×1 Figure]
all the properties of the whole app I won't bore you with
K>> app.StimInputTable.Data
ans =
4×4 table
Var1 Var2 Var3 Var4
____ ____ ____ _______
4 5 0 1
5 4 1 2
2 3 2 0.66667
3 2 5 2.5
Look it worked!
Next step if you don't mind anwering is to sort the table by the Var4 column
  1 个评论
Alessandro Livi
Alessandro Livi 2024-7-21
BTW I tried addvars() for a while as help said to do but never got that to work following all the examples the best I could

请先登录,再进行评论。

采纳的回答

Voss
Voss 2024-7-21
编辑:Voss 2024-7-21
app.StimInputTable.Data.Var4 = app.StimInputTable.Data.Var3./app.StimInputTable.Data.Var2;
%                 ^^^^^ you were missing the .Data
  4 个评论
Alessandro Livi
Alessandro Livi 2024-7-22
Added some string stuff which completes but now when I exit the callback it halts here so maybe that is a clue?
methods (Access = protected, Sealed = true)
function newCallback = createCallbackFcn(app, callback, requiresEventData)
if nargin == 2
requiresEventData = false;
end
ams = appdesigner.internal.service.AppManagementService.instance();
newCallback = @(source, event)executeCallback(ams, ...
app, callback, requiresEventData, event);
end
Is there some magic I have to do at the end of a callback function?
Voss
Voss 2024-7-22
No magic required. What is the problem you are describing?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by