Только приложения App Designer и фигуры, созданные с функцией uifigure, поддерживают массивы table. Для получения информации об отображающихся табличных данных в традиционных фигурах смотрите Программное приложение который Отображения Таблица.
Табличные массивы полезны для того, чтобы хранить табличные данные как переменные MATLAB®. Например, можно вызвать функцию readtable, чтобы создать табличный массив из электронной таблицы.
Компоненты пользовательского интерфейса Table, в отличие от этого, являются компонентами пользовательского интерфейса, которые отображают табличные данные в приложениях. Начиная в R2018a, типы данных, которые можно отобразить в компоненте пользовательского интерфейса Table, включают табличные массивы.
Когда вы отображаете табличные данные массива в приложениях, можно использовать в своих интересах интерактивные функции для определенных типов данных. И различающиеся другие типы массивов, что Table поддержка компонентов пользовательского интерфейса, табличные данные массива не отображаются согласно свойству ColumnFormat компонента пользовательского интерфейса Table.
В пользовательском интерфейсе Table логические значения компонента отображаются как флажки. значения true проверяются, тогда как значения false неконтролируемы. Когда свойством ColumnEditable компонента пользовательского интерфейса Table является true, пользователь может выбрать и снять флажки в приложении.
f = uifigure;
tdata = table([true; true; false]);
uit = uitable(f,'Data',tdata);
Значения categorical могут появиться как выпадающие списки или как текст. Категории появляются в выпадающих списках, когда свойством ColumnEditable компонента пользовательского интерфейса Table является true. В противном случае категории отображаются как текст без выпадающего списка.
f = uifigure;
cnames = categorical({'Blue';'Red'},{'Blue','Red'});
w = [400; 700];
tdata = table(cnames,w,'VariableNames',{'Color','Wavelength'});
uit = uitable(f,'Data',tdata,'ColumnEditable',true);
Если массив categorical не защищен, пользователи могут добавить новые категории в запущенном приложении путем ввода в ячейке.
Значения datetime отображаются согласно свойству Format соответствующей табличной переменной (массив datetime).
f = uifigure; dates = datetime([2016,01,17; 2017,01,20],'Format','MM/dd/uuuu'); m = [10; 9]; tdata = table(dates,m,'VariableNames',{'Date','Measurement'}); uit = uitable(f,'Data',tdata);

Чтобы изменить формат, используйте запись через точку, чтобы установить свойство Format табличной переменной. Затем замените данные в компоненте пользовательского интерфейса Table.
tdata.Date.Format = 'dd/MM/uuuu';
uit.Data = tdata;
Когда свойством ColumnEditable компонента пользовательского интерфейса Table является true, пользователи могут изменить значения даты в приложении. Когда столбец будет доступен для редактирования, приложение ожидает входные значения, которые соответствуют свойству Format массива datetime. Если пользователь вводит недопустимую дату, значением, отображенным в таблице, является NaT.
Значения duration отображаются согласно свойству Format соответствующей табличной переменной (массив duration).
f = uifigure; mtime = duration([0;0],[1;1],[20;30]); dist = [10.51; 10.92]; tdata = table(mtime,dist,'VariableNames',{'Time','Distance'}); uit = uitable(f,'Data',tdata);

Чтобы изменить формат, используйте запись через точку, чтобы установить свойство Format табличной переменной.
tdata.Time.Format = 's';
uit.Data = tdata;
Ячейки, содержащие значения duration, не доступны для редактирования в запущенном приложении, даже когда ColumnEditable компонента пользовательского интерфейса Table является true.
Нескалярные значения отображают в приложении тот же путь, как они отображаются в Командном окне. Например, этот табличный массив содержит массивы struct и трехмерные массивы.
f = uifigure;
arr = {rand(3,3,3); rand(3,3,3)};
s = {struct; struct};
tdata = table(arr,s,'VariableNames',{'Array','Structure'});
uit = uitable(f,'Data',tdata);
Многостолбцовая табличная переменная типа массив отображается как объединенный столбец в приложении, как это делает в Командном окне. Например, переменная RGB в этом табличном массиве является массивом 3х3.
n = [1;2;3]; rgbs = [128 122 16; 0 66 155; 255 0 0]; tdata = table(n,rgbs,'VariableNames',{'ROI','RGB'})
tdata =
3×2 table
ROI RGB
___ _________________
1 128 122 16
2 0 66 155
3 255 0 0Компонент пользовательского интерфейса Table обеспечивает подобное представление. Выбор элемента в столбце RGB выбирает все подстолбцы в той строке. Значения в подстолбцах не доступны для редактирования в запущенном приложении, даже когда свойством ColumnEditable компонента пользовательского интерфейса Table является true.
f = uifigure;
uit = uitable(f,'Data',tdata);
Отсутствующие значения отображаются как индикаторы согласно типу данных:
Отсутствующие строки отображаются как <missing>.
Неопределенные значения categorical отображаются как <undefined>.
Недопустимые или неопределенные числа или значения duration отображаются как NaN.
Недопустимые или неопределенные значения datetime отображаются как NaT.
Если свойством ColumnEditable компонента пользовательского интерфейса Table является true, то пользователь может исправить значения в запущенном приложении.
f = uifigure;
sz = categorical([1; 3; 4; 2],1:3,{'Large','Medium','Small'});
num = [NaN; 10; 12; 15];
tdata = table(sz,num,'VariableNames',{'Size','Number'});
uit = uitable(f,'Data',tdata,'ColumnEditable',true);
Это приложение показывает, как отобразить компонент пользовательского интерфейса Table в приложении, которое использует табличные данные массива. Табличный массив содержит numeric, logical, categorical и многостолбцовые переменные.
Коллбэк StartupFcn загружает электронную таблицу в табличный массив. Затем подмножество отображений данных и построено в приложении. Один график отображает исходные табличные данные. Другой график первоначально показывает те же табличные данные, и затем обновляет, когда пользователь редактирует значение или сортирует столбец в компоненте пользовательского интерфейса Table.
