Табличные типы данных массива в приложениях App Designer

Табличные массивы полезны для того, чтобы хранить табличные данные как MATLAB® переменные. Например, можно вызвать readtable функция, чтобы создать табличный массив из электронной таблицы.

Table Компоненты пользовательского интерфейса, в отличие от этого, являются компонентами пользовательского интерфейса, которые отображают табличные данные в приложениях. Начиная в R2018a, типах данных можно отобразиться в Table Компонент пользовательского интерфейса включает табличные массивы. Только приложения App Designer и фигуры, созданные с uifigure функционируйте табличные массивы поддержки.

Когда вы отображаете табличные данные массива в приложениях, можно использовать в своих интересах интерактивные функции для определенных типов данных. И различающиеся другие типы массивов, что 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';

Table UI component with one column. Each cell contains a check box. The check boxes in the first two rows are checked, and the check box in the third row is unchecked.

Категориальные данные

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);

Table UI component. A cell in the "Color" column is selected, and displays a drop-down list with the values "Blue" and "Red".

Если categorical массив не защищен, пользователи могут добавить новые категории в запущенном приложении путем ввода в ячейке.

Данные о datetime

datetime значения отображаются согласно Format свойство соответствующей табличной переменной (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 свойство соответствующей табличной переменной (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);

Table UI component with two columns labeled "Time" and "Distance". The data in the "Time" column is displayed in HH:MM:SS format, and the data in the "Distance" column is displayed with four digits after the decimal point.

Чтобы изменить формат, используйте запись через точку, чтобы установить Format свойство табличной переменной.

tdata.Time.Format = 's';
uit.Data = tdata;

Table UI component with two columns labeled "Time" and "Distance". The data in the "Time" column is displayed in seconds, and the data in the "Distance" column is displayed with four digits after the decimal point.

Ячейки, содержащие duration значения не доступны для редактирования в запущенном приложении, даже когда ColumnEditable из Table Компонентом пользовательского интерфейса является 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);

Table UI component with two columns labeled "Array" and "Structure". Each cell in the "Array" column reads "3x3x3 double" and each cell in the "Structure" column reads "1x1 struct".

Многостолбцовая табличная переменная типа массив отображается как объединенный столбец в приложении, как это делает в Командном окне. Например, 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);

Table UI component with two columns labeled "ROI" and "RGB". The "RGB" column has three subcolumns that hold RGB values.

Пропавшие без вести значений данных

Отсутствующие значения отображаются как индикаторы согласно типу данных:

  • Отсутствующие строки отображаются как <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 UI component with two columns labeled "Size" and "Number". One cell in the "Size" column displays "<undefined>", and one cell in the "Number" column is displays "NaN". The cell with the "NaN" value is highlighted and editable.

Пример: Приложение, который Отображения Табличный Массив

Это приложение показывает, как отобразить Table Компонент пользовательского интерфейса в приложении, которое использует табличные данные массива. Табличный массив содержит numericлогическийкатегориальный, и многостолбцовые переменные.

StartupFcn коллбэк загружает электронную таблицу в табличный массив. Затем подмножество отображений данных и построено в приложении. Один график отображает исходные табличные данные. Другой график первоначально показывает те же табличные данные, и затем обновляется, когда пользователь редактирует значение или сортирует столбец в Table Компонент пользовательского интерфейса.

Смотрите также

|

Похожие темы