以编程方式控制自定义表
使用编程接口来控制自定义表。您可以以编程方式在掩码对话框上添加自定义表,并使用编程接口控制其属性。有关从蒙版编辑器创建自定义表的信息,请参见为屏蔽块定制表.
添加自定义表参数
您可以使用以下命令向掩码对话框添加自定义表参数:
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 = 万博1manbetxSimulink.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
tableccontrol =带有属性的CustomTable:名称:“myTable”行:“new”HorizontalStretch:“on”工具提示:“ShowFilter:”上“Multiselect:”上“Sortable:”off”列:[1×6 Simulink.Mask.TableParamColumnInfo]万博1manbetx
向表中添加值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。getTableCell([15])
tableCell = CustomTableParamCellObject与属性:值:'on'类型:'复选框'启用:'on' TypeOptions: {0×1 cell}
注意:
在获取表中的行数时,必须将setTableCell和getTableCell api用作掩码参数回调的一部分。
只有在打开带有自定义表参数的对话框时,setTableCell和getTableCell api才显示正确的结果。
编辑自定义表中的行
您可以插入、删除、交换和获取自定义表中特定行的值。使用的命令有:
向表中添加一行tableControl.addRow (“sig5”,“输入”,“继承”,“继承”,“上”,“继承”)在表的特定位置插入一行tableControl。insertRow (4“insertSig4”,“输入”,“继承”,“继承”,“上”,“继承”)删除特定的行tableControl。removeRow(2)交换两行tableControl。swapRows(3,4) tablectrol . 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“名字”,“计数器”,“类型”,“编辑”,“评估”,“上”);