I need to add a variable that is user defined into 'eventdata' that is being generated using a GUI that I have made.
Example:
eventdata consists of Source and EventName.
I want to add another variable 'tag' such that now
eventdata consists of Source, EventName and tag.

 Accepted Answer

Hi,
I am assuming your eventdata is a table(because you want to keep the variable names). Let's say event data has 2 columns one for source and other for Eventname, then you can add third column to this table by simply using dot(.) operator. i.e.
eventdata.tag = tag;
You can know more about tables here: https://in.mathworks.com/help/matlab/ref/table.html
Cheers.

3 Comments

Saurav Roy
Saurav Roy on 28 Apr 2020
Edited: Saurav Roy on 28 Apr 2020
Hi !!,
Eventdata is actually an action data variable for a GUI. I tried doing that but it is throwing error
Unrecognized property 'tag' for class 'matlab.ui.eventdata.ActionData'.
Please find attached a screenshot of the eventdata variable.
I see your eventdata is not a table instead it's a data type which consists an object and a string.
You can modify this datatype to a new datatype which consists a double with property name Tag as below.
function obj = addTag(eventdata, tag)
obj.source = evnetdata.source;
obj.EventName = evnetdata.EventName;
obj.Tag = tag;
end
Call this function as:
eventdata = addTag(eventdata, tag);
I think it should work.
cheers.
Thank you.. I will give it a try !!

Sign in to comment.

More Answers (0)

Categories

Find more on Scope Variables and Generate Names in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!