How do I populate a custom table in a Simulink Mask?

5 vues (au cours des 30 derniers jours)
MathWorks Support Team
MathWorks Support Team le 21 Juin 2019
I'm looking to add a row in a custom table that’s in a mask. The name of the custom table is 'Table1', and I have the following code in one of the callbacks for a button on the mask:
Table1 = [Table1;cellstr(["a","b","c","d"])]
However, when I click on the button, I receive the following error:
Undefined function or variable Table1
How do I add a row to the custom table?
 

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 29 Juil 2024
Modifié(e) : MathWorks Support Team le 29 Août 2024
Please note that mask callbacks operate in the Base Workspace. The mask parameters, however, are stored in the mask workspace. This is why you see an error stating 'Undefined function or variable Table1', as the callback does not have access to the mask workspace.
To work around this, you would need to obtain the mask object and access the mask parameters within:
blkName = 'add_row_to_table_callback/Subsystem'; mask = Simulink.Mask.get(blkName);
You would then need to obtain the handle to the custom table in the mask and add the row as follows:
Table1 = mask.getDialogControl('Table1'); Table1.addRow("a","b","c","d");
Please run the below command in the command window of installed MATLAB R2019a version to get release specific documentation
>> web(fullfile(docroot, 'simulink/ug/control-custom-tables-programmatically.html'))
Please follow the below link to search for the required information regarding the current release:

Plus de réponses (0)

Catégories

En savoir plus sur Author Block Masks dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by