Табличные массивы полезны для хранения табличных данных в виде переменных MATLAB ®. Например, можно вызвать readtable для создания массива таблиц из электронной таблицы.
Table Компоненты пользовательского интерфейса, напротив, являются компонентами пользовательского интерфейса, которые отображают табличные данные в приложениях. Начиная с R2018a, типы данных, которые можно отобразить в Table Компонент пользовательского интерфейса включает массивы таблиц. Только приложения и фигуры App Designer, созданные с помощью uifigure поддержка функций table массивы.
При отображении данных массива таблиц в приложениях можно воспользоваться интерактивными функциями для определенных типов данных. И в отличие от других типов массивов, которые Table Компоненты пользовательского интерфейса поддерживают, данные массива таблиц не отображаются в соответствии с ColumnFormat имущества Table Компонент пользовательского интерфейса.
В Table Компонент пользовательского интерфейса, логические значения отображаются как флажки. true значения проверяются, тогда как false значения не проверяются. Когда ColumnEditable имущества Table Компонент пользовательского интерфейса: true, пользователь может установить и снять флажки в приложении.
fig = uifigure; tdata = table([true; true; false]); uit = uitable(fig,'Data',tdata); uit.Position(3) = 130; uit.RowName = 'numbered';

categorical значения могут отображаться в виде раскрывающихся списков или в виде текста. Категории отображаются в раскрывающихся списках, когда ColumnEditable имущества Table Компонент пользовательского интерфейса: true. В противном случае категории отображаются в виде текста без выпадающего списка.
fig = uifigure;
cnames = categorical({'Blue';'Red'},{'Blue','Red'});
w = [400; 700];
tdata = table(cnames,w,'VariableNames',{'Color','Wavelength'});
uit = uitable(fig,'Data',tdata,'ColumnEditable',true);

Если categorical массив не защищен, пользователи могут добавлять новые категории в запущенное приложение, вводя данные в ячейку.
datetime значения отображаются в соответствии с Format свойство соответствующей переменной таблицы (a datetime массив).
fig = 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(fig,'Data',tdata);

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

Чтобы изменить формат, используйте точечную нотацию для установки Format свойства переменной таблицы.
tdata.Time.Format = 's';
uit.Data = tdata;
Ячейки, содержащие duration значения не редактируются в запущенном приложении, даже если ColumnEditable из Table Компонент пользовательского интерфейса: true.
Нескалярные значения отображаются в приложении так же, как и в окне команд. Например, этот массив таблицы содержит 3-D массива и struct массивы.
fig = uifigure;
arr = {rand(3,3,3); rand(3,3,3)};
s = {struct; struct};
tdata = table(arr,s,'VariableNames',{'Array','Structure'});
uit = uitable(fig,'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.
fig = uifigure;
uit = uitable(fig,'Data',tdata);
Отсутствующие значения отображаются в виде индикаторов в соответствии с типом данных:
Отсутствующие строки отображаются как <missing>.
Неопределенный categorical значения отображаются как <undefined>.
Недопустимые или неопределенные числа или duration значения отображаются как NaN.
Недопустимый или неопределенный datetime значения отображаются как NaT.
Если ColumnEditable имущества Table Компонент пользовательского интерфейса: true, то пользователь может исправить значения в запущенном приложении.
fig = 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(fig,'Data',tdata,'ColumnEditable',true);
В этом приложении показано, как отобразить Table Компонент пользовательского интерфейса в приложении, использующем данные массива таблиц. Массив таблиц содержит numeric, logical, categoricalи переменные с несколькими столбцами.
StartupFcn обратный вызов загружает электронную таблицу в массив таблиц. Затем отображается подмножество данных, которое выводится на печать в приложении. На одном графике отображаются исходные данные таблицы. На другом графике первоначально отображаются те же данные таблицы, а затем обновляются, когда пользователь редактирует значение или сортирует столбец в Table Компонент пользовательского интерфейса.
