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

categorical значения могут отображаться как раскрывающиеся списки или как текст. Категории появляются в раскрывающихся списках, когда ColumnEditable свойство Table Компонент UI 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 Компонент UI.
tdata.Date.Format = 'dd/MM/uuuu';
uit.Data = tdata;
Когда ColumnEditable свойство Table Компонент UI 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 Компонент UI true.
Нескалярные значения отображаются в приложении так же, как и в Командном окне. Для примера этот массив таблицы содержит трехмерные массивы и 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 0The Table Компонент обеспечивает аналогичную презентацию. Выбор элемента в RGB столбец выбирает все подстолбцы в этой строке. Значения в подстолбцах не редактируются в запущенном приложении, даже когда ColumnEditable свойство Table Компонент UI true.
fig = uifigure;
uit = uitable(fig,'Data',tdata);
Отсутствующие значения отображаются как индикаторы в соответствии с типом данных:
Отсутствующие строки отображаются следующим <missing>.
Неопределенные categorical значения отображаются следующим <undefined>.
Недопустимые или неопределенные числа или duration значения отображаются следующим NaN.
Недопустимые или неопределенные datetime значения отображаются следующим NaT.
Если на ColumnEditable свойство Table Компонент UI 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 Компонент UI в приложении, которое использует данные массива таблиц. Массив таблицы содержит numeric, logical, categorical, и многополюсные переменные.
The StartupFcn коллбэк загружает электронную таблицу в массив таблиц. Затем подмножество данных отображений и строится в приложении. На одном графике отображаются исходные данные таблицы. Другой график первоначально показывает те же данные таблицы, а затем обновляется, когда пользователь редактирует значение или сортирует столбец в Table Компонент UI.
