显示表格的编程应用程序
函数在应用程序中显示一个表场上
函数。它还展示了如何修改表的外观,以及如何在运行的应用程序中限制对表的编辑。
在图中创建一个表格UI组件
的场上
函数在图中创建一个空的UI表。
无花果= uifigure (“位置”,[100 100 752 250]);外的=场上(“父”无花果,“位置”,[25 50 700 200]);
创建一个包含混合数据类型的表
加载包含混合数据类型的样本患者数据,并将其存储在表数组中。若要使数据在表组件的单元格中显示为下拉列表,请将单元格数组变量转换为分类数组。参数的值指定表数组以显示表UI组件中的数据数据
财产。
负载病人t =表(LastName、年龄、体重、身高、吸烟者SelfAssessedHealthStatus);t.SelfAssessedHealthStatus =分类(t。SelfAssessedHealthStatus, {“可怜的”,“公平”,‘好’,“优秀”},...“顺序”,真正的);外的。数据= t;
自定义显示
可以通过几种方式定制UI表的显示。使用ColumnName
属性添加列标题。
外的。ColumnName = {“姓”,“年龄”,“重量”,“高度”,“抽烟”,“健康状况”};
要调整列的宽度,请指定ColumnWidth
财产。的ColumnWidth
属性是一个1 × N的单元格数组,其中N是表中的列数。设置特定的列宽度,或使用“汽车”
让MATLAB®基于内容设置宽度。
外的。ColumnWidth = {“汽车”, 75,“汽车”,“汽车”,“汽车”100};
属性添加编号的行标题RowName
财产“编号”
.
外的。RowName =“编号”;
方法重新定位和调整表的大小位置
财产。
外的。位置= [15 25 565 200];
默认情况下,表UI组件使用行条带化并循环使用指定的背景颜色,直到到达表的末尾。如果你设置RowStriping
财产“关闭”
中指定的第一个颜色写成BackgroundColor
属性的所有行。这里,留下行条纹“上”
设置三种不同的颜色写成BackgroundColor
财产。
外的。BackgroundColor = [1 1 .9;.9 .95 1;1 .5 .5];
启用列排序和限制编辑单元格值
属性使所有列可排序ColumnSortable
财产真正的
.如果一个列是可排序的,当您将鼠标悬停在它上面时,标题中会出现箭头。
外的。ColumnSortable = true;
若要限制用户编辑表中的数据的能力,请设置ColumnEditable
财产。默认情况下,不能在运行中的应用中编辑数据ColumnEditable
财产真正的
,允许用户编辑该列中的数据。
外的。ColumnEditable = [false false true true true true true];
创建一个回调
的表格
对象有两个常用的回调函数。的CellSelectionCallback
当用户选择不同的单元格时执行。的CellEditCallback
当用户更改单元格中的值时执行。
外的。CellEditCallback = @ageCheckCB;
例如,如果你想年龄列中包含之间的值0
而且120
,设置CellEditCallback
对这样一个函数:
函数eventdata ageCheckCB (src)
如果(eventdata. indexes (2) == 2 &&...%检查是否列2(eventdata。NewData < 0 ||事件数据。NewData > 120)) tableData = src.Data;eventdata.Indices tableData {eventdata.Indices (1), (2)} = eventdata.PreviousData;src。数据= tableData;%将数据设置回原始值警告(“年龄必须在0到120岁之间。”)%警告用户结束
结束
如果用户输入的值超出可接受范围,回调函数将返回一个警告并将单元格值设置回先前的值。
获取所有表属性
要查看表的所有属性,请使用得到
命令。
(外的)
BackgroundColor: [3x3 double] BeingDeleted: 'off' BusyAction: 'queue' ButtonDownFcn: " CellEditCallback: @ageCheckCB CellSelectionCallback: " Children: [0x0 handle] ColumnEditable: [0 0 1 1 1 1] ColumnFormat: {} ColumnName: {6x1 cell} ColumnSortable: 1 ColumnWidth: {'auto' [75] 'auto' 'auto' 'auto' 'auto' ' 100]} CreateFcn: " Data: [100x6 table] DeleteFcn: " DisplayData: [100x6 table] DisplayDataChangedFcn: " Enable: 'on' Extent: [0 00 0] FontAngle: 'normal' FontName: 'Helvetica' FontSize: "12 FontUnits: 'pixels' FontWeight: 'normal' ForegroundColor: [0 00] HandleVisibility: 'on' InnerPosition: [15 25 565 200] Interruptible: 'on' KeyPressFcn: " KeyReleaseFcn: " Layout: [0x0 matlabu .ui. Layout .]LayoutOptions] OuterPosition: [15 25 565 200] Parent: [1x1图]Position: [15 25 565 200] RearrangeableColumns: 'off' RowName: 'numbered' RowStriping: 'on' stylecconfigurations: [0x3表]Tag: " Tooltip: " Type: 'uitable' UIContextMenu: [0x0 GraphicsPlaceholder] Units: 'pixels' UserData: [] Visible: 'on'