主要内容

显示表格的编程应用程序

这个例子展示了如何在应用程序中显示一个表场上功能。它还显示了如何修改表的外观,以及如何在正在运行的应用程序中限制表的编辑。

在地物中创建表格UI组件

这个场上函数在图中创建一个空UI表。

图=uifigure(“位置”,[100 752 250]);uit=uitable(“父”,无花果,“位置”,[25 50 700 200]);

创建包含混合数据类型的表

加载包含混合数据类型的样本患者数据并将其存储在表格数组中。若要使数据在表格组件的单元格中显示为下拉列表,请将单元格数组变量转换为分类数组。若要在表格UI组件中显示数据,请将表格数组指定为数据财产。

负载病人t=表(姓氏、年龄、体重、身高、吸烟者、,...自我评估健康状况);t、 自评健康状态=分类(t.自评健康状态,...{“可怜的”,“公平”,‘好’,“好极了”},“序数”,真正的);外的。数据= t;

图中包含uitable类型的对象。

自定义显示

您可以通过多种方式自定义UI表的显示字段名属性以添加列标题。

uit.ColumnName={“姓”,“年龄”,“重量”,...“高度”,“抽烟”,“健康状况”};

图中包含uitable类型的对象。

要调整列的宽度,请指定列宽财产列宽属性是一个1 × N的单元格数组,其中N是表中的列数。设置特定的列宽度,或使用“自动”让MATLAB®根据内容设置宽度。

外的。ColumnWidth = {“自动”, 75,“自动”,“自动”,“自动”100};

图中包含uitable类型的对象。

通过设置行名属性“编号”。

行名=“编号”;

图中包含uitable类型的对象。

使用位置财产。

位置=[15 25 565 200];

图中包含uitable类型的对象。

默认情况下,表UI组件使用行分条,并在指定的背景色之间循环,直到到达表的末尾划船财产“关闭”,表UI组件将只使用写成BackgroundColor属性的所有行。在这里,留下行条纹“开”设置三种不同的颜色写成BackgroundColor财产。

uit.BackgroundColor=[11.9;.9.951;1.5.5];

图中包含uitable类型的对象。

启用列排序和限制编辑单元格值

要限制用户编辑表中的数据的能力,请设置可编辑列属性。默认情况下,无法在正在运行的应用程序中编辑数据。设置可编辑列财产真正的对于列,允许用户编辑该列中的数据。

uit.ColumnEditable=[false-true];

属性使所有列可排序ColumnSortable财产真正的.如果一列是可排序的,当您将鼠标悬停在该列上时,箭头将出现在标题中。

uit.ColumnSortable=true;

图中包含uitable类型的对象。

创建一个回调

要对表进行编程以响应用户交互,请创建一个回调函数。例如,可以指定SelectionChangedFcn当应用程序用户选择表格的不同行、列或单元格时执行命令。

在这里,编写一个回调函数来验证年龄列介于0和120之间。请创建一个名为ageCheckCB并将其保存到一个名为ageCheckCB在MATLAB路径上的文件夹中。

函数ageCheckCB(src,事件)如果(事件索引(2)=2&&...%检查是否列2(事件。NewData < 0 ||事件。NewData > 120)) tableData = src.Data;event.Indices tableData {event.Indices (1), (2)} = event.PreviousData;src。数据= tableData;%还原数据警告(年龄必须在0到120岁之间。)%警告用户结束

分配ageCheckCBCellEditCallback财产。当用户更改单元格中的值时,执行此回调。如果用户输入的值超出了可接受范围,回调函数将返回一个警告,并将单元格值设置回以前的值。

外的。CellEditCallback = @ageCheckCB;

有关编写回调函数的更多信息,请参见为以编程方式创建的应用编写回调

获取所有表属性

要查看表的所有属性,请使用得到指挥部。

获取(uit)
BackgroundColor: [3x3 double] BeingDeleted: off BusyAction: 'queue' ButtonDownFcn: " CellEditCallback: @ageCheckCB CellSelectionCallback: " Children: [0x0 handle] columnneditable: [0 1 1 1] ColumnFormat: {} ColumnName: {6x1 cell} ColumnSortable: 1 ColumnWidth: {'auto' [75] 'auto' '' auto' [100]} ContextMenu:[0x0 GraphicsPlaceholder] CreateFcn: " Data: [100x6 table] DeleteFcn: " DisplayData: [100x6 table] DisplayDataChangedFcn: " Enable: 'on' Extent: [0 0 312.5000 312.5000] 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 matlab.ui.layout.]LayoutOptions]多选:OuterPosition:[15 25 565 200]父:[1 x1图]位置:[15 25 565 200]RearrangeableColumns:从RowName:“编号”RowStriping:选择:[]SelectionChangedFcn:“SelectionType:‘细胞’StyleConfigurations: [0 x3表]标签:“工具提示:“类型:场上的单位:“像素”用户数据:[]可见:

另见

功能

性质

相关的话题