主要内容

显示表格的程序应用程序

属性在应用程序中显示表场上函数。它还展示了如何修改表的外观,以及如何限制在运行的应用程序中对表的编辑。

在图中创建一个表UI组件

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

图= ufigure图(“位置”,[100 100 752 250]);Uit =可使用的(“父”无花果,“位置”,[25 50 700 200]);

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

加载包含混合数据类型的示例患者数据,并将其存储在一个表数组中。若要让数据以下拉列表的形式出现在表组件的单元格中,请将单元格数组变量转换为分类数组。控件的值指定表数组,以显示表UI组件中的数据数据财产。

负载病人t = table(姓氏,年龄,体重,身高,吸烟,...SelfAssessedHealthStatus);t. selfassessedhealthstatus = category (t. selfassessedhealthstatus = category)SelfAssessedHealthStatus,...“可怜的”“公平”‘好’“优秀”},“顺序”,真正的);外的。数据= t;

图中包含一个类型为uitable的对象。

自定义显示

您可以用几种方法自定义UI表的显示。使用ColumnName属性添加列标题。

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

图中包含一个类型为uitable的对象。

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

外的。ColumnWidth = {“汽车”, 75,“汽车”“汽车”“汽车”100};

图中包含一个类型为uitable的对象。

属性添加有编号的行标题RowName属性为'numbered'。

外的。RowName =“编号”

图中包含一个类型为uitable的对象。

控件重新定位表并调整表的大小位置财产。

外的。位置= [15 25 565 200];

图中包含一个类型为uitable的对象。

默认情况下,表UI组件使用行条纹,并循环使用指定的背景颜色,直到到达表的末尾。如果你设置RowStriping财产“关闭”元素中指定的第一个颜色写成BackgroundColor属性。这里,保留行条纹“上”设置三种不同的颜色写成BackgroundColor财产。

外的。BackgroundColor = [1 1 .9;.9 .95 1;1 .5 .5];

图中包含一个类型为uitable的对象。

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

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

外的。ColumnEditable = [false true true true true true true true];

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

外的。ColumnSortable = true;

图中包含一个类型为uitable的对象。

创建回调

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

方法中的值,编写回调函数来验证年龄列在0到120之间。创建一个名为ageCheckCB并保存到一个名为ageCheckCB在MATLAB路径下的文件夹中。

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

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

外的。CellEditCallback = @ageCheckCB;

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

获取所有表属性

属性可以查看表的所有属性得到命令。

(外的)
BackgroundColor: [3x3 double] BeingDeleted: off BusyAction: 'queue' ButtonDownFcn: " CellEditCallback: @ageCheckCB CellSelectionCallback: " Children: [0x0 handle] ColumnEditable: [0 1 1 1 1 1] ColumnFormat: {} ColumnName: {6x1 cell} columnrearrangable: off ColumnSortable: 1 ColumnWidth: {'auto' [75] 'auto' 'auto' 'auto' 'auto' '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 000] HandleVisibility: 'on' InnerPosition: [15 25 565 200] Interruptible: on KeyPressFcn: " KeyReleaseFcn: " Layout: [0x0 matllab .ui. Layout。LayoutOptions] Multiselect: on OuterPosition: [15 25 565 200] Parent: [1x1图]Position: [15 25 565 200] RowName: 'numbered' RowStriping: on Selection: [] SelectionChangedFcn: " SelectionType: 'cell' stylecconfigurations: [0x3 table] Tag: " Tooltip: " Type: 'uitable' Units: 'pixels' UserData: [] Visible: on

另请参阅

功能

属性

相关的话题