以编程方式控制自定义表
使用编程接口来控制自定义表。您可以通过编程方式在掩码对话框中添加自定义表,并使用编程接口控制其属性。有关从掩码编辑器创建自定义表的信息,请参见为屏蔽块定制表.
添加自定义表参数
您可以使用以下命令向掩码对话框添加自定义表参数:
new_system (“mask_custom_table”);
警告:模型名称“mask_custom_table”遮蔽了MATLAB工作区或路径中的另一个名称。在命令行中输入"which -all mask_custom_table",查找该名称的其他用法。您应该更改模型的名称以避免出现问题。
add_block (“内置/子系统”,“mask_custom_table /子系统”);save_system;open_system (“mask_custom_table”);%掩码对象maskObj = Simulink.Mask.create(gcb);添加自定义表参数tableParam = maskObj.addParameter(“名字”,“myTable”,“类型”,“customtable”);
向表中添加列
方法可以向自定义表添加列addColumn
命令:
tableccontrol = maskObj.getDialogControl(“myTable”);tableControl.addColumn (“名字”,高密度脂蛋白的名字的,“类型”,“编辑”);tableControl.addColumn (“名字”,“I / O模式”,“类型”,“弹出”,“TypeOptions”, {“输入”,“输出”});tableControl.addColumn (“名字”,的样品时间,“类型”,“编辑”);tableControl.addColumn (“名字”,“数据类型”,“类型”,“弹出”,“TypeOptions”, {“继承”,“定点”,“双”,“单一”});tableControl.addColumn (“名字”,“标志”,“类型”,“复选框”);tableControl.addColumn (“名字”,的部分的长度,“类型”,“编辑”);tableControl.Columns (2) .Width = 500
tableControl =具有属性的CustomTable: Name: 'myTable' Row: 'new' HorizontalStretch: 'on'工具提示:" ShowFilter: 'on' Multiselect: 'on' Sortable: 'off' Columns: [1×6 Simulink.Mask.TableParamColumnInfo]
向表中添加值tableParam。值= join([“{sig1”、“输入”、“继承”、“继承”,“对”,“继承”;“,...”“sig2”、“输入”、“继承”,“继承”,“上”,“继承”;“,...”“sig3”、“输出”、“10”,“继承”、“了”、“继承”;“,...”“sig4”、“输出”、“10”,“继承”、“了”、“继承”}”]);
注意:
您可以使用宽度属性指定自定义表的初始列宽度。
设置和获取表属性
如果一个单元格的值发生了变化,你可以获取它的值,并使用以下命令为表中的一个单元格设置一个新值:
%获取已更改单元格的值open_system (“mask_custom_table /子系统”)%获取特定单元格的值tableControl。getValue([1 3]);为特定单元格设置值tableControl。setValue([1 3],“20”);changedCells = tablectrol . getchangedcells ();
设置和获取单元级别规格
可以在自定义表中设置和获取特定单元格的值。使用的命令有:
的设置值tableControl。setTableCell([1 3],“类型”,“复选框”,“价值”,“关闭”,“启用”,“关闭”)%从特定的表单元格获取值tableCell = tableccontrol。getablecell ([1 5])
tableCell = CustomTableParamCellObject,具有属性:值:'on'类型:'复选框'启用:'on'类型选项:{0×1 cell}
注意:
在获取表中的行数时,必须将setTableCell和getTableCell api用作掩码参数回调的一部分。
只有在打开带有自定义表参数的对话框时,setTableCell和getTableCell api才会显示正确的结果。
编辑自定义表中的行
您可以插入、删除、交换和获取自定义表中特定行的值。使用的命令有:
%向表中添加一行tableControl.addRow (“sig5”,“输入”,“继承”,“继承”,“上”,“继承”)在表中的特定位置插入一行tableControl。insertRow (4“insertSig4”,“输入”,“继承”,“继承”,“上”,“继承”)删除一个特定的行tableControl。removeRow(2)交换两行tableControl。swprows (3,4) tableControl.getSelectedRows()
获取和设置表参数
您可以使用set_param
而且get_param
命令来设置或获取您在掩码对话框中创建的自定义表参数的值。
get_param (gcb),“myTable”)
ans = ' {' sig1”、“输入”、“继承”、“继承”,“对”,“继承”;“sig2”、“输入”、“继承”、“继承”,“上”、“继承”;“sig3”、“输出”、“十”、“继承”,“关闭”,“继承”;“sig4”、“输出”、“十”、“继承”,“关闭”,“继承”}”
set_param (gcb),“myTable”,“{sig1”、“输入”、“继承”、“继承”,“对”,“继承”}”)
编辑自定义表中的列
您可以插入、删除、交换和获取自定义表中特定列的值。使用的命令有:
%向表中添加一列tableControl.addColumn (“名字”,“硬件名称”,“类型”,“编辑”);从表中删除一列tableControl。removeColumn(1);在表中的特定位置插入一列tableControl。insertColumn (1,“名字”,高密度脂蛋白的名字的,“类型”,“编辑”);tableControl。getColumn(4);
插入列并启用列单元格的计算
方法插入新列评估选中复选框。使用的命令是:
tableControl。insertColumn (2“名字”,“计数器”,“类型”,“编辑”,“评估”,“上”);