主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

テーブルを表示するプログラム アプリ

この例では、関数能够使用てにテーブルを表示する方法说明ますます,テーブルテーブルのの外観外観外観をを変更するする方法と,実行実行中ののアプリアプリでテーブル

Figure 内でのテーブル UI コンポーネントの作成

関数能够は、Figure 内に空の UI テーブルを作成します。

fig = uifigure('位置',[100 100 752 250]); uit = uitable(“父母”,fig,'位置',[25 50 700 200]);

混在するデータ型を含むテーブルの作成

混在するデータ型を含む患者データのサンプルを読み込み、それを table 配列に保存します。データを、テーブル コンポーネントのセル内のドロップダウン リストとして表示するには、cell 配列変数を categorical 配列に変換します。データをテーブル UI コンポーネントに表示するには、table 配列を数据プロパティのとして指定し。。

load耐心t = table(LastName,Age,Weight,Height,Smoker,...SelfAssessedHealthStatus); t.SelfAssessedHealthStatus = categorical(t.SelfAssessedHealthStatus,...{'贫穷的','Fair','好的','Excellent'},,'Ordinal',真的);uit.data = t;

桌子of patient data, with columns titled 'LastName', 'Age', 'Weight', 'Height', 'Smoker', and 'SelfAssessedHealthStatus'. The SelfAssessedHealthStatus column displays the status of each patient as one of 'Poor', 'Fair', 'Good', or 'Excellent'.

表示のカスタマイズ

UI テーブルの表示をいくつかの方法でカスタマイズすることができます。列見出しを追加するには、ColumnNameプロパティを使用ます。

uit.ColumnName = {'Last Name','年龄','重量',...'高度',“吸烟者”,'Health Status'};

患者数据表,标题为“姓氏”,“年龄”,“体重”,“高度”,“吸烟者”和“健康状况”的列。表中的数据等效于上表。

列のを调整する,,ColumnWidthプロパティを指定します。ColumnWidthプロパティはn列のの配列,,はの列数。特定特定の列の幅を设定,,,'auto'を使用て,内容を基にに®に幅を設定させます。

uit.columnwidth = {'auto',75,'auto','auto','auto',100};

具有不同大小的列的患者数据表。姓氏,重量,高度和吸烟柱是相同的宽度,基于列的内容设置。年龄柱宽75像素,健康状况柱为100像素宽。

RowNameプロパティを'numbered'に设定こと,付きの行见出し追加します。

uit.RowName ='numbered';

桌子of patient data. The first column of the table does not have a title and provides the row number.

Positionプロパティを使用してテーブルの位置とサイズを変更します。

uit.Position = [15 25 565 200];

与上一张表相比,患者数据表,在图窗口中移动,并宽度较低。年龄和健康状况柱分别保持在75和100像素宽。姓氏,重量,高度和吸烟柱宽度会自动调整以适合新的桌子尺寸。

既定では、テーブル UI コンポーネントは行のストライプ配色を使い、指定した背景色がテーブルの終わりまで繰り返されます。RowStripingプロパティを'离开'に设定と,テーブルUIコンポーネントは背景颜色プロパティで指定された最初の色のみをすべての行に使用します。ここでは、行のストライプ配色を'on'のままとし,背景颜色プロパティに 3 つの異なる色を設定します。

uit.BackgroundColor = [1 1 .9; .9 .95 1;1 .5 .5];

桌子of patient data. The first, fourth, and seventh rows are colored yellow, the second, fifth, and eight rows are colored blue, and the third and sixth rows are colored red.

列の並べ替えの有効化とセル値の編集の制限

可列プロパティを真的に設定することで、すべての列を並べ替え可能にします。列が並べ替え可能である場合、ヘッダーにカーソルを合わせると矢印が表示されます。

uit.ColumnSortable = true;

桌子of patient data. The Last Name column has arrows pointing up and down next to the column title to indicate that the column is sortable.

テーブル内のデータを編集するユーザーの権限を制限するには、ColumnEditableプロパティをます既定では実行のアプリでをを编集することははできでき列列列ColumnEditableプロパティを真的に設定すると、その列のデータが編集可能になります。

uit.ColumnEditable = [false false true true true true];

桌子of patient data. The app user has clicked on the Health Status cell in the first row, which displays a drop-down menu with the options 'Poor', 'Fair', 'Good', and 'Excellent'.

コールバックの作成

桌子オブジェクトには、よく使用される 2 つのコールバックがあります。CellSelectionCallbackは、ユーザーが別のセルを選択すると実行されます。CellEditCallbackは、ユーザーがセルの値を変更すると実行されます。

uit.celleditcallback = @AgeCheckcb;

たとえば、Age列に0120の値を格納する場合、CellEditCallbackを次のような関数に設定します。

功能ageCheckCB(src,eventdata)
if(eventdata.Indices(2) == 2 &&...%检查第2列是否(eventdata.NewData < 0 || eventdata.NewData > 120)) tableData = src.Data; tableData{eventdata.Indices(1),eventdata.Indices(2)} = eventdata.PreviousData; src.Data = tableData;% set the data back to its original value警告(“年龄必须在0到120之间。”)% warn the userend
end

ユーザーが外値入力する,关数警告をを返し,セル値が前前のの値に戻さ戻さ

すべてのテーブル プロパティの取得

テーブルののを确认するに,,得到コマンドを使用します。

得到(uit)
背景颜色: [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' [100]} ContextMenu: [0x0 GraphicsPlaceholder] CreateFcn: '' Data: [100x6 table] DeleteFcn: '' DisplayData: [100x6 table] DisplayDataChangedFcn: '' Enable: 'on' Extent: [0 0 0 0] FontAngle: 'normal' FontName: 'Helvetica' FontSize: 12 FontUnits: 'pixels' FontWeight: 'normal' ForegroundColor: [0 0 0] HandleVisibility: 'on' InnerPosition: [15 25 565 200] Interruptible: on KeyPressFcn: '' KeyReleaseFcn: '' Layout: [0x0 matlab.ui.layout.LayoutOptions] OuterPosition: [15 25 565 200] Parent: [1x1 Figure] Position: [15 25 565 200] RearrangeableColumns: off RowName: 'numbered' RowStriping: on StyleConfigurations: [0x3 table] Tag: '' Tooltip: '' Type: 'uitable' Units: 'pixels' UserData: [] Visible: on