uitable

Создайте табличный компонент пользовательского интерфейса

Описание

uit = uitable создает табличный компонент пользовательского интерфейса в текущей фигуре и возвращает Table Объект компонента пользовательского интерфейса. Если нет никакой доступной фигуры, MATLAB® вызывает figure функция, чтобы создать ту.

uit = uitable(Name,Value) задает значения свойств компонента таблицы UI, использующего один или несколько аргументов пары "имя-значение".

пример

uit = uitable(parent) составляет таблицу в заданном родительском контейнере. Родительский контейнер может быть фигурой, созданной с любым figure или uifigure функция или дочерний контейнер, такой как панель. Значения свойств для uitable варьируйтесь немного в зависимости от того, создано ли приложение с figure или uifigure функция. Для получения дополнительной информации см. Аргументы в виде пар имя-значение.

пример

uit = uitable(parent,Name,Value) задает родительский контейнер и одни или несколько значений свойств.

Примеры

свернуть все

Начиная в R2018a, можно отобразиться table данные массива в компоненте таблицы UI. (Этот тип данных поддерживается только, когда компонент таблицы UI находится на рисунке, созданном с uifigure функция. App Designer использует этот тип фигуры для того, чтобы создать приложения.)

Создайте табличный массив t путем вызова readtable функционируйте, чтобы считать данные из файла. Выберите четыре переменные и 15 строк от t.

t = readtable('patients.xls');
vars = {'Age','Systolic','Diastolic','Smoker'};
t = t(1:15,vars);

Создайте компонент таблицы UI и задайте t как данные.

fig = uifigure;
uit = uitable(fig,'Data',t);

A table with four columns: "Age", "Systolic", "Diastolic", and "Smoker". The table is populated with data. The data in the "Smoker" column appears as checked or unchecked boxes.

Отобразитесь и программно обновитесь table данные массива в компоненте таблицы UI. (Этот тип данных поддерживается только, когда компонент таблицы UI находится на рисунке, созданном с uifigure функция. App Designer использует этот тип фигуры для того, чтобы создать приложения.)

Создайте табличный массив путем чтения в данных о цунами из файла и отобразите подмножество данных в компоненте таблицы UI.

t = readtable('tsunamis.xlsx');
vars = {'Year','MaxHeight','Validity'};
t = t(1:20,vars);
fig = uifigure;
uit = uitable(fig,'Data',t);

A table with three columns of tsunami data: the year of the tsunami, the maximum tsunami height in meters, and the validity of the tsunami (for example, "questionable tsunami" or "definite tsunami").

Обновите валидность цунами в первой строке путем редактирования Data свойство таблицы UI.

uit.Data.Validity(1) = {'definite tsunami'};

A table with tsunami year, maximum height, and validity. The entry in the first row has a Validity value of "definite tsunami".

Преобразуйте максимальные данные о высоте от метров до ног путем доступа и изменения данных в MaxHeight столбец.

uit.Data.MaxHeight = uit.Data.MaxHeight*3.281;

A table with tsunami year, max height, and validity. The values in the MaxHeight column are in feet.

Создайте приложение, которое позволяет пользователям сортировать и редактировать табличные данные, и это обновляет визуализацию данных, когда данные изменяются. (Интерактивная сортировка столбца поддерживается только, когда компонент таблицы UI находится на рисунке, созданном с uifigure функция. App Designer использует этот тип фигуры для того, чтобы создать приложения.)

Во-первых, создайте программный файл под названием tsunamisData.m. В программном файле:

  • Создайте a table массив путем вызова readtable функция.

  • Создайте фигуру пользовательского интерфейса.

  • Создайте поддающийся сортировке и доступный для редактирования компонент таблицы UI, чтобы отобразиться на рисунке. Сохраните table массив к Data компонента свойство.

  • Создайте пузырьковый график, чтобы визуализировать данные о цунами, где координаты пузыря представляют широту и долготу цунами, и размер пузыря представляет максимальную высоту.

  • Задайте DisplayDataChangedFcn коллбэк, который использует DisplayData свойство обновить пузырьковую диаграмму, когда столбцы видов пользователя приложения или ячейки редактирований в компоненте таблицы UI.

function tsunamisData
    % Create table array
    t = readtable('tsunamis.xlsx');
    vars = {'Latitude','Longitude','MaxHeight'};
    t = t(1:20,vars);

    % Create UI figure
    fig = uifigure;
    fig.Position(3:4) = [722 360];

    % Create table UI component
    uit = uitable(fig);
    uit.Data = t;
    uit.ColumnSortable = true;
    uit.ColumnEditable = [false false true];
    uit.Position(3) = 290;
    uit.DisplayDataChangedFcn = @updatePlot;

    % Create bubble chart
    ax = uiaxes(fig);
    ax.Position(1) = 315;
    ax.XLabel.String = 'Longitude';
    ax.YLabel.String = 'Latitude';
    x = t.Longitude;
    y = t.Latitude;
    sz = t.MaxHeight;
    bubblechart(ax,x,y,sz)

        % Update the bubble chart when table data changes
        function updatePlot(src,event)
            t = uit.DisplayData;
            x = t.Longitude;
            y = t.Latitude;
            sz = t.MaxHeight;
            bubblechart(ax,x,y,sz)
        end

end

An app with a table displaying the Latitude, Longitude, and MaxHeight data for a number of tsunamis, and a bubble chart of the table data. The bubble chart plots the location of the tsunamis with Longitude on the x-axis, Latitude on the y-axis, and bubble size given by MaxHeight.

Поддающиеся сортировке стрелки отображений столбца в заголовке, когда вы наводите своя мышь на него. Сортировка таблицы максимальной высотой цунами.

The MaxHeight column of the tsunami data table is sorted in ascending order. The user's mouse cursor is on the MaxHeight column header, where an arrow pointing up is displayed next to the header text.

Отредактируйте максимальную высоту цунами во второй строке, чтобы быть 30 метров первым двойным кликом на ячейке таблицы и затем вводом новой высоты. Заметьте, как пузырьковая диаграмма обновляется в ответ.

The cell in the second row and the MaxHeight column is selected, and the number 1 has been replaced with the number 30. The bubble chart bubble sizes have changed to reflect the new MaxHeight data.

Начиная в R2019b, можно разработать строки, столбцы или ячейки компонента таблицы UI использование uistyle и addStyle функции. (Стили только поддерживаются, когда компонент таблицы UI находится на рисунке, созданном с uifigure функция. App Designer использует этот тип фигуры для того, чтобы создать приложения.)

Разработайте ячейки в компоненте таблицы UI, которые содержат отсутствующие значения. В этом случае добавьте желтый стиль цвета фона в ячейки, которые имеют NaN значения.

Считайте выборочные данные цунами в рабочую область как табличный массив. Затем создайте компонент таблицы UI, чтобы отобразить данные.

tdata = readtable('tsunamis.xlsx');
vars = {'Year','Month','Day','Hour', ...
        'MaxHeight','Cause','EarthquakeMagnitude'};
tdata = tdata(1:100,vars);

fig = uifigure('Position',[500 500 760 360]);
uit = uitable(fig);
uit.Position = [20 20 720 320];
uit.Data = tdata;
uit.RowName = 'numbered';

Используйте ismissing функция, чтобы получить логический массив табличных элементов, которые содержат отсутствующие значения. Найдите индексы строки и столбца для элементов, которые имеют NaN значения. Наконец, создайте желтый стиль цвета фона и добавьте его в ячейки с NaN значения в компоненте таблицы UI.

styleIndices = ismissing(tdata);
[row,col] = find(styleIndices);

s = uistyle('BackgroundColor',[1 0.6 0.6]);
addStyle(uit,s,'cell',[row,col]);

Начиная в R2021a, можно программно прокрутить к строке, столбцу или ячейке компонента таблицы UI использование scroll функция. (Программируемая прокрутка только поддерживается, когда компонент таблицы UI находится на рисунке, созданном с uifigure функция. App Designer использует этот тип фигуры для того, чтобы создать приложения.)

Считайте демонстрационные данные о пациентах в рабочую область как табличный массив. Затем создайте компонент таблицы UI, чтобы отобразить данные.

tdata = readtable('patients.xls');
vars = {'Age','Systolic','Diastolic','Smoker'};
tdata = tdata(1:40,vars);

fig = uifigure;
uit = uitable(fig,'Data',tdata);
uit.RowName = 'numbered';

Прокрутите к двадцать пятой строке таблицы.

scroll(uit,'row',25)

Создайте компонент таблицы UI, который отображается 10 3 массив случайных целых чисел. Data свойство задает значения, чтобы отобразиться, и Position свойство задает местоположение и размер таблицы в фигуре.

f = figure;
uit = uitable(f,'Data',randi(100,10,3),'Position',[20 20 262 204]);

Таблица компоненты пользовательского интерфейса может вместить смесь различных типов данных через столбцы.

Создайте пустой Table Компонент пользовательского интерфейса.

f = figure;
uit = uitable(f);

Установите Data свойство заполнить данные как массив ячеек, который содержит смесь различных типов. Затем установите Position свойство настроить местоположение и размер таблицы, чтобы соответствовать данным.

d = {'Male',52,true;'Male',40,true;'Female',25,false};
uit.Data = d;
uit.Position = [20 20 258 78];

Установите ColumnName свойство изменить заголовки столбцов в описательные имена. Установите ColumnEditable свойство к true так, чтобы пользователи могли отредактировать данные в пользовательском интерфейсе. Когда пользователь изменяет значение в пользовательском интерфейсе, Data свойство обновляется, чтобы отразить то изменение.

uit.ColumnName = {'Gender','Age','Authorized'};
uit.ColumnEditable = true;

Входные параметры

свернуть все

Родительский контейнер в виде фигуры, созданной с любым figure или uifigure функция или дочерний контейнер:

  • Панели, вкладки и группы кнопок могут быть контейнерами в любом типе фигуры.

  • Размещения сетки могут быть контейнерами, только в цифрах созданный с uifigure функция.

Аргументы в виде пар имя-значение

Пример: uitable(fig,'Data',[1 2 3; 4 5 6])

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в одинарных кавычках (' '). Можно задать несколько имен и аргументов пары значения как Name1,Value1,...,NameN,ValueN.

Можно установить Table Аргументы пары "имя-значение" использования свойств.

  • Для списка свойств, доступных для приложений, созданных с uifigure функционируйте или в App Designer, смотрите Свойства таблиц.

  • Для списка свойств, доступных для приложений, созданных с figure функционируйте, смотрите Свойства таблиц.

Введенный в R2008a