Table Properties

Управляйте внешним видом и поведением компонента таблицы UI

Таблица компоненты пользовательского интерфейса показывает строки и столбцы данных в приложении. uitable функция создает компонент таблицы UI и устанавливает любые необходимые свойства прежде, чем отобразить его. Путем изменения значений свойств Table объект, можно изменить определенные аспекты его внешнего вида и поведения. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.

fig = uifigure;
uit = uitable(fig,'Data',[1 2 3; 4 5 6; 7 8 9]);
uit.FontSize = 10;

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

Таблица

развернуть все

Табличные данные, заданные как один из следующих типов массива:

  • Табличный массив — Отображения любая комбинация типов данных, что table поддержка массивов, такая как datetimeдлительность, и categorical.

  • Числовой массив — числовые значения Отображений, такие как double или single.

  • Логический массив — флажки Displays. true значения соответствуют выбранным полям, тогда как false значения отображают очищенные поля.

  • Массив ячеек — Отображения любая комбинация числовых, логических, или значения символьного массива.

  • Массив строк — символы Отображений и текст.

  • Массив ячеек из символьных векторов Символы отображений и текст.

Предотвратить предупреждения или NaN значения, которые отображаются, когда пользователи вводят недопустимые данные в редактируемую ячейку, запишите CellEditCallback функционируйте, чтобы преобразовать данные в соответствующий тип. Когда пользователь редактирует ячейку, Data обновления свойства.

Задайте табличный массив

Табличные массивы обеспечивают удобный способ хранить табличные данные как переменную MATLAB®. tablereadtable, и array2table функции создают табличные массивы. В отличие от этого, uitable функция создает Table Компонент пользовательского интерфейса (компонент пользовательского интерфейса для приложения).

Когда вы задаете Data свойство Table Компонент пользовательского интерфейса как табличный массив, затем MATLAB устанавливает формат Table Компонент пользовательского интерфейса автоматически на основе значений в табличном массиве:

  • По умолчанию имена столбцов, отображенные в приложении, совпадают с VariableNames свойство табличного массива. Изменение ColumnName свойство Table Компонент пользовательского интерфейса обновляет пользовательский интерфейс, но это не обновляет имена переменных в табличном массиве.

  • По умолчанию имена строки, отображенные в приложении, совпадают с RowNames свойство табличного массива. Изменение RowName свойство Table Компонент пользовательского интерфейса обновляет пользовательский интерфейс, но это не обновляет имена строки в табличном массиве.

  • Тип данных каждого табличного форматирования средств управления переменной типа массив для соответствующего столбца в приложении. При попытке установить ColumnFormat свойство, MATLAB возвращает предупреждение.

Для получения дополнительной информации об отображающихся табличных данных массива смотрите Табличные Типы данных массива в Приложениях App Designer.

Задайте числовой, логический, ячейка, массив строк или Массив ячеек из символьных векторов

Используйте ColumnFormat свойство задать формат для данных, которые являются числовым, логическим, ячейкой, или массивом строк или массивом ячеек из символьных векторов. Если данные редактируются и приводят к несоответствию между типом данных данных и ColumnFormat свойство, MATLAB преобразует данные или выводит предупреждение. Смотрите Отображение Данных Доступных для редактирования Столбцов в ColumnFormat описание свойства для получения дополнительной информации.

Это свойство доступно только для чтения.

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

Используйте это свойство, если вы хотите обновить свою визуализацию на основе того, отсортировал ли пользователь столбцы или отредактировал ячейки в таблице.

DisplayData обновления, когда столбцы таблицы сортируются или когда ячейки редактируются. Если пользователь не сортирует столбцы, то DisplayData имеет то же содержимое как значение, сохраненное в Data свойство. Когда пользователь редактирует ячейку, Data и DisplayData свойства оба обновления.

Имена столбцов, заданные как одно из этих значений:

  • 'numbered' — Заголовки столбцов являются порядковыми номерами, которые запускаются в 1.

  • Массив ячеек из символьных векторов или категориальный массив — Каждый элемент массива становятся именем столбца. Имена столбцов ограничиваются одной линией текста. Если вы задаете 1 n массив ячеек, MATLAB хранит и возвращает значение как n- 1 массив ячеек. Если вы задаете m- n массив, MATLAB изменяет размерность массива в вектор-столбец.

  • Массив пустой ячейки ({}) — Таблица не имеет никаких заголовков столбцов.

  • Пустая матрица ([]) — Таблица не имеет никаких заголовков столбцов

Если количество столбцов в Data массив свойства не совпадает с числом элементов в ColumnName массив, затем количество столбцов в получившейся таблице является большими из этих двух значений.

Если вы задаете Data свойство как табличный массив, затем имена столбцов по умолчанию совпадают с VariableNames свойство табличного массива. Изменение ColumnName свойство Table Компонент пользовательского интерфейса обновляет пользовательский интерфейс, но это не обновит имена переменных в табличном массиве.

Пример: uit = uitable(uifigure,'ColumnName',{'Name';'Number'},'Data',{'Bob',5})

Пример: uit = uitable(uifigure,'ColumnName',{'Name';[]},'Data',{'Bob',5})

Ширина столбцов таблицы, заданных как 'auto' или как 1 n cellArray.

Каждый столбец в массиве ячеек соответствует столбцу в таблице. Значения находятся в пиксельных модулях. Если вы задаете 'auto', затем MATLAB вычисляет ширину столбца автоматически с помощью нескольких факторов, одним из которых является ColumnName значение свойства.

Можно объединить фиксированные ширины столбца и 'auto' ширина столбцов в массиве ячеек, или можно задать одно значение 'auto', чтобы сделать всю ширину столбцов автоматической. Если массив, который вы задаете, имеет меньше значений, чем количество столбцов, то столбцы без заданного значения сохраняют значение по умолчанию, 'auto'. Если массив имеет больше значений, чем количество столбцов, MATLAB игнорирует избыточные значения.

Пример: uit = uitable(uifigure,'ColumnWidth','auto','Data',[1 2 3;4 5 6])

Пример: uit = uitable(uifigure,'ColumnWidth',{64,60,40},'Data',[1 2 3;4 5 6])

Пример: uit = uitable(uifigure,'ColumnWidth',{64,'auto',40},'Data',[1 2 3;4 5 6])

Способность отредактировать ячейки столбца, заданные как:

  • Пустой логический массив ([]) — Никакие столбцы не доступны для редактирования.

  • Логическое массив — Этот массив задает, какие столбцы доступны для редактирования. Значение n равно количеству столбцов в таблице. Каждое значение в массиве соответствует столбцу таблицы. Значение true в массиве делает ячейки в том столбце доступными для редактирования. Значение false делает ячейки в том столбце недоступными для редактирования. Если массив имеет больше значений, чем количество столбцов, MATLAB игнорирует избыточные значения. Если массив имеет меньше значений, чем количество столбцов, то столбцы без заданного значения не доступны для редактирования.

  • Логический скаляр — целая таблица доступна для редактирования или недоступна для редактирования.

Когда пользователь редактирует ячейку, Data обновления свойства.

Пример: uit = uitable(uifigure,'Data',rand(10,3),'ColumnEditable',[false true true])

Пример: uit = uitable(uifigure,'Data',rand(10,3),'ColumnEditable',false)

Чтобы позволить пользователям взаимодействовать со средствами управления в столбцах таблицы, которые содержат флажки или всплывающие меню, установите ColumnEditable свойство к true.

Если Data свойство является табличным массивом, затем любые переменные, которые являются многостолбцовыми или содержат недоступные для редактирования типы данных, как duration, не доступны для редактирования в запущенном приложении даже когда ColumnEditable свойством является true. Табличные переменные типа массив, которые содержат смешанные типы данных в массиве ячеек, доступны для редактирования в запущенном приложении, пока типы данных доступны для редактирования.

Способность отсортировать столбцы, заданные как:

  • Пустой логический массив ([]) — Никакие столбцы не являются поддающимися сортировке.

  • Логический скаляр — целая таблица является поддающейся сортировке (true) или неподдающийся сортировке (false).

  • Логическое массив — Этот массив задает, какие столбцы являются поддающимися сортировке. Значение n равно количеству столбцов в таблице. Каждое значение в массиве соответствует столбцу таблицы. Значение true в массиве делает тот столбец поддающимся сортировке. Значение false делает тот столбец неподдающимся сортировке. Если массив имеет больше значений, чем количество столбцов, MATLAB игнорирует избыточные значения. Если массив имеет меньше значений, чем количество столбцов, то столбцы, которые не имеют заданных значений, не являются поддающимися сортировке.

Пример: uit = uitable(uifigure,'Data',rand(5),'ColumnSortable',true);

Пример: uit = uitable(uifigure,'Data',rand(3),'ColumnSortable',[true true false]);

Если Data свойство содержит данные о массиве ячеек или табличные данные массива со столбцами массива ячеек, затем только столбцами с универсальными типами данных числовых или символьных массивов, или массив ячеек из символьных векторов является поддающимся сортировке в запущенном приложении. Столбцы массива ячеек с универсальными логическими данными или неоднородными типами данных не могут быть отсортированы в запущенном приложении, даже когда ColumnSortable свойством является true.

Формат отображения ячейки, заданный как массив пустой ячейки или 1 n массив ячеек из символьных векторов.

Не устанавливайте это свойство когда Data свойство содержит table массив. Для получения дополнительной информации смотрите Табличные Типы данных массива в Приложениях App Designer.

Это наборы свойств формат для отображения числового, логического, ячейка, или массив строк и типы данных массива ячеек из символьных векторов. Элементы массива ячеек соответствуют столбцам в Data массив свойства. Если вы не хотите задавать формат отображения для конкретного столбца, задайте [] для того столбца. Если вы не задаете формат для столбца, MATLAB определяет отображение по умолчанию по условию тип данных в ячейке.

Элементы массива ячеек должны быть одним из значений, описанных в таблице.

Значение формата ячеек

Описание

'char'

Отобразите лево-выровненные по ширине значения. Если элемент в Data массив свойства является логическим, затем true или false появляется в таблице.

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

'logical'

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

Чтобы отредактировать ячейку, пользователь выбирает или снимает флажок. Затем MATLAB устанавливает соответствующий Data значение к true или false. ColumnEditable значением свойства должен быть true позволить пользователям выбирать или снимать флажки.

'numeric'

Отобразите выровненное по правому знаку значение, эквивалентное отображению Командного окна для числовых данных. Если элемент в Data массив свойства является логическим, затем 1 или 0 появляется в таблице. Если элемент в Data массив свойства не является числовым и не логическим, затем NaN появляется в таблице.

Чтобы отредактировать ячейку, пользователь может ввести любой текст.

Если пользователь вводит текст, который представляет константу, такую как pi, можно закодировать CellEditCallback функционируйте, чтобы преобразовать значение в числовой эквивалент. В этом случае MATLAB пытается преобразовать вводимый пользователем текст в числовое значение и хранит его в Data свойство. Затем CellEditCallback функция выполняется. Смотрите CellEditCallback описание для примера.

1 n массив ячеек из символьных векторов, такой как {'one','two','three'}

Отобразите всплывающее меню в доступном для редактирования столбце. Значение отображается, как лево-выровнено по ширине ли ColumnEditable свойство установлено в true или false.

Чтобы отредактировать ячейку, пользователь выбирает элемент из всплывающего меню или вводит текст, чтобы создать новый элемент. MATLAB устанавливает соответствующий Data значение свойства массивов к выбранному пункту меню. ColumnEditable значением свойства должен быть true позволить пользователям выбирать элементы во всплывающем меню.

Имя формата принято format функция, такая как: 'short' или 'long'

Отобразите Data значения свойств с помощью заданного формата. Значения отображаются как выровненные по правому знаку.

Эффект всплывающего меню ColumnFormat и различные типы данных

Если ColumnFormat значение задает всплывающее меню, начальный Data значение не должно быть одной из опций в том меню. Начальный Data значение появляется, пока пользователь не делает различный выбор.

Например, предположите Data значением свойства для данного столбца является 'Choose' для всех строк и ColumnFormat значение задает всплывающее меню с выбором 'group 1' и 'group 2'. Когда MATLAB составляет таблицу, те ячейки таблицы отображают 'Choose' пока пользователь не выбирает элемент во всплывающем меню:

fig = uifigure;
myData = {'Andrew' 31 'Male' 'Choose'; ...
    'Bob' 41 'Male' 'Choose';  ...
    'Anne' 20 'Female' 'Choose';};
uit = uitable('Parent', fig, ...
    'Position', [100 150 380 100], ...
    'ColumnFormat',({[] [] [] {'group 1' 'group 2'}}), ...
    'ColumnEditable',true, ...
    'Data',myData);

Отображение данных доступных для редактирования столбцов

Эта таблица описывает, как различные типы данных отображаются с определенным ColumnFormat значения.

 ColumnFormat
'numeric''char''logical'
Тип данных значения массива данныхЛюбой числовой типТаблица показывает номер как есть.MATLAB преобразует значение в текст и отображает лево-выровненный по ширине в таблице. Если MATLAB не может преобразовать значение, то NaN отображения.Не рекомендуемый. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете CellEditCallback функция.
charТаблица показывает выровненное по правому знаку значение, как будто это - номер.Таблица показывает значение как есть.Не рекомендуемый. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете CellEditCallback функция.
logicalТаблица показывает логические значения как числа. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете CellEditCallback функция.Таблица показывает логическое значение как лево-выровненный по ширине 'true' или 'false'. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете CellEditCallback функция.Таблица показывает логические значения как флажки.

Имена строки, заданные как одно из этих значений:

  • 'numbered' — Заголовки строк являются порядковыми номерами, которые запускаются в 1.

  • Массив ячеек из символьных векторов или категориальный массив — Каждый элемент массива становятся именем строки. Имена строки ограничиваются одной линией текста. Если вы задаете 1 n массив ячеек, MATLAB хранит и возвращает значение как n- 1 массив ячеек. Если вы задаете m- n массив, MATLAB изменяет размерность массива в вектор-столбец.

  • Массив пустой ячейки ({}) — Таблица не имеет никаких заголовков строк.

  • Пустая матрица ([]) — Таблица не имеет никаких заголовков строк

Если количество строк в Data массив свойства не совпадает с числом элементов в RowName массив, затем количество строк в получившейся таблице отражает количество строк в Data свойство.

Если вы задаете Data свойство как табличный массив, затем имена строки по умолчанию совпадают с RowNames свойство табличного массива. Изменение RowName свойство компонента таблицы UI обновляет пользовательский интерфейс, но это не обновит имена строки в табличном массиве.

Пример: uit = uitable(uifigure,'RowName',{'Name';'Number'},'Data',{'Bob';5})

Пример: uit = uitable(uifigure,'RowName',{'Name';[]},'Data',{'Bob';5})

Это свойство доступно только для чтения.

Настройка добавленных стилей, возвращенных как n- 3 табличных массива. Каждая строка табличного массива соответствует стилю, который в настоящее время применяется к компоненту таблицы UI. Стилям, которые добавляются последовательно, дают номер заказа стиля n+1. Target и TargetIndex столбцы задают часть компонента таблицы UI, к которому был добавлен стиль. Style столбец задает имя класса стиля.

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

s1 = uistyle('BackgroundColor','yellow');
s2 = uistyle('BackgroundColor','red');
s3 = uistyle('FontColor','b','FontWeight','bold');

fig = uifigure;
fig.Position = [100 100 520 220];
uit = uitable(fig);
uit.Data = rand(5);
uit.Position = [20 30 480 135];

addStyle(uit,s1,'row',[1 2 4 5]);
addStyle(uit,s2,'cell',[2 1; 4 2; 1 3; 1 5])
addStyle(uit,s3,'column',2);

Когда вы запрашиваете uit.StyleConfigurations, возвращен 3х3 табличный массив. Стиль строки был добавлен к компоненту таблицы UI сначала, таким образом, это - номер заказа стиля 1. TargetIndex значение для стиля строки, {1×4 double}, указывает, что четыре строки были заданы, когда стиль был добавлен. Точно так же второй стиль был добавлен к четырем ячейкам в таблице. Третий стиль был добавлен к второму столбцу.

uit.StyleConfigurations
ans =

  3×3 table

         Target    TargetIndex                Style           
         ______    ____________    ___________________________

    1    row       {1×4 double}    [1×1 matlab.ui.style.Style]
    2    cell      {4×2 double}    [1×1 matlab.ui.style.Style]
    3    column    {[       2]}    [1×1 matlab.ui.style.Style]

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

removeStyle(uit,2)

Шрифт

развернуть все

Название шрифта, заданное как поддержанное системой название шрифта. Шрифт по умолчанию зависит от конкретной операционной системы и локали.

Если указанный шрифт недоступен, MATLAB использует тот, который больше всего похож на него из всех шрифтов, доступных в той системе, в которой работает приложение.

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

Пример: 14

Толщина шрифта, заданная как одно из этих значений:

  • 'normal' — Вес по умолчанию, как задано конкретным шрифтом

  • 'bold' — Более толстые символьные основы, чем 'normal'

Не все шрифты имеют полужирное начертание шрифта. Для шрифтов, которые не делают, задавая 'bold' результаты в обычной толщине шрифта.

Угол шрифта, заданный как 'normal' или 'italic'. Не все шрифты имеют угол курсивного шрифта. Для шрифтов, которые не делают, задавая 'italic' результаты в углу обычного шрифта.

Модули размера шрифта, заданные как 'pixels'.

Интерактивность

развернуть все

Табличная видимость, заданная как 'on' или 'off'. Когда Visible 'off', таблица не отображается, но можно запросить и установить ее свойства.

Чтобы заставить ваше приложение запуститься быстрее, установите Visible свойство всех компонентов, которые первоначально не отображены к 'off'.

Рабочее состояние таблицы, заданной как 'on' или 'off'. Enable свойство управляет, отвечает ли таблица на взаимодействие с пользователем. Двух возможных значений:

  • 'on' – Таблица является операционной.

  • 'off' – Таблица появляется grayed и не отвечает на взаимодействие с пользователем.

Подсказка, заданная как вектор символов, массив ячеек из символьных векторов, массив строк или 1D категориальный массив. Используйте это свойство отобразить сообщение, когда пользователь наведет указатель на компонент во время выполнения. Подсказка отображается, даже когда компонент отключен. Чтобы отобразить несколько линий текста, задайте массив ячеек из символьных векторов или массив строк. Каждый элемент в массиве становится отдельной линией текста. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.

Цвет и моделирование

развернуть все

Цвет текста ячейки, заданный как триплет RGB, шестнадцатеричный цветовой код или один из перечисленных в таблице параметров цвета. Когда вы выбираете цвет текста ячейки использование ForegroundColor свойство это применяется ко всем ячейкам в компоненте таблицы UI.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F. Значения не являются чувствительными к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Табличный цвет фона, заданный как триплет RGB или m- 3 матрицы триплетов RGB. Триплет RGB является вектором-строкой, который задает интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений, [0,1]. Названия цвета не допустимы.

Задайте m- 3 матрицы, когда это необходимо, штриховка строк таблицы, чтобы следовать за повторяющимся шаблоном m различные цвета. Каждой строкой матрицы должен быть триплет RGB. MATLAB использует строки матрицы когда RowStriping свойством является 'on'. Табличный фон не чередуется если оба RowStriping 'on' и BackgroundColor m- 3 матрицы.

Пример: uit = uitable(uifigure,'Data',rand(10,3),'BackgroundColor',[0.85 0.85 1])

Пример: uit = uitable(uifigure,'Data',rand(10,3),'BackgroundColor',[1 1 1 ;0.85 0.85 1])

В следующей таблице перечислены триплеты RGB для определенных цветов.

ЦветТриплет RGB
Желтый[1 1 0]
Пурпурный[1 0 1]
Голубой[0 1 1]
Красный[1 0 0]
Зеленый[0 1 0]
Синий[0 0 1]
Белый[1 1 1]
Черный[0 0 0]

Альтернативная штриховка строки, заданная как 'on' или 'off'. Это свойство управляет шаблоном штриховки строк таблицы.

Когда RowStriping значение установлено к 'on', BackgroundColor матрица задает цвета строки, чтобы отобразиться в повторяющемся шаблоне. Если BackgroundColor матрица имеет только одну строку, затем штриховка является тем же самым во всех строках таблицы.

Когда RowStriping установлен в 'off', затем первые раскрашивают BackgroundColor матрица задает штриховку для всех строк в таблице.

Положение

развернуть все

Местоположение и размер таблицы, заданной как четырехэлементный вектор формы [left bottom width height]В этой таблице описываются каждый элемент в векторе.

ЭлементОписание
leftРасстояние от внутреннего левого края родительского контейнера к внешнему левому краю таблицы
bottomРасстояние от внутреннего базового края родительского контейнера к внешнему базовому краю таблицы
widthРасстояние между правыми и левыми внешними краями таблицы
heightРасстояние между верхними и нижними внешними краями таблицы

Все измерения находятся в модулях, заданных Units свойство.

Position значения относительно drawable area родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.

Местоположение и размер таблицы, заданной как четырехэлементный вектор формы [left bottom width height]. Все измерения находятся в модулях, заданных Units свойство.

Это значение свойства идентично Position и OuterPosition значения свойств.

Местоположение и размер таблицы, заданной как четырехэлементный вектор формы [left bottom width height]. Все измерения находятся в модулях, заданных Units свойство.

Это значение свойства идентично Position и InnerPosition значения свойств.

Единицы измерения, заданные как 'pixels'. MATLAB измеряет все модули от левого нижнего угла родительского объекта.

Параметры макета, заданные как GridLayoutOptions объект. Это свойство задает опции для компонентов, которые являются дочерними элементами контейнеров макетов сетки. Если компонент не является дочерним элементом контейнера макетов сетки (например, это - дочерний элемент фигуры или панели), то это свойство пусто и не оказывает влияния. Однако, если компонент является дочерним элементом контейнера макетов сетки, можно поместить компонент в желаемую строку и столбец сетки путем установки Row и Column свойства на GridLayoutOptions объект.

Например, этот код помещает компонент таблицы UI в третью строку и второй столбец ее родительской сетки.

g = uigridlayout([4 3]);
uit = uitable(g,'Data',rand(10,3));
uit.Layout.Row = 3;
uit.Layout.Column = 2;

Чтобы заставить таблицу охватить несколько строк или столбцов, задайте Row или Column свойство как двухэлементный вектор. Например, эта таблица охватывает столбцы 2 через 3:

uit.Layout.Column = [2 3];

Коллбэки

развернуть все

Функция обратного вызова редактирования ячейки, заданная как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с ячейкой (такой как индексы ячейки). MATLAB передает эту информацию в CellEditData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.Indices возвращает индексы выбранной ячейки. CellEditData объект не доступен для функций обратного вызова, заданных как векторы символов.

Следующая таблица описывает свойства CellEditData объект.

Свойство

Описание

Indices

Это 1 2 массив, содержащий индексы строки и столбца ячейки пользователь, отредактированный в запущенном приложении. Когда столбец сортируется, Indices возвращает оригинал 1 2 массив ячейки, прежде чем это было отсортировано — DisplayIndices возвращает новое местоположение отредактированной ячейки, которая отображается визуально в отсортированной таблице.

DisplayIndices

Это 1 2 массив, содержащий индексы строки и столбца, соответствующие местоположению отредактированной ячейки в отображении отсортированной таблицы. Если пользователь не сортирует столбцы, то DisplayIndices имеет то же содержимое как Indices свойство.

PreviousData

Это - предыдущие данные о ячейке. Значением по умолчанию является пустая матрица, [].

EditData

Это - вводимое пользователями значение.

NewData

Это - значение, которое MATLAB записал в Data массив свойства.

NewData свойство пусто, если MATLAB обнаруживает ошибку во вводимых пользователями данных.

Error

Это - сообщение об ошибке, возвращенное, если MATLAB обнаруживает ошибку во вводимых пользователями данных.

Error свойство пусто, когда MATLAB успешно пишет значение в Data свойство.

Если Error свойство не пусто, затем CellEditCallback может отобразить сообщение, или оно может попытаться решить проблему.

Source

Компонент, выполняющий коллбэк.

EventName

'CellEdit'.

Когда пользователь редактирует ячейку таблицы, MATLAB выполняет эти шаги:

  1. Попытки сохранить новое значение в Data свойство таблицы

  2. Вызывает CellEditCallback функция (если это существует),

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

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Функция обратного вызова выбора ячейки, заданная как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Эта функция обратного вызова выполняется, когда пользователь выбирает ячейки. Одна ячейка данных (не заголовок строки или заголовок столбца) может быть выбрана путем нажатия на него или навигации к нему с клавишей со стрелкой. Несколько ячеек могут быть выбраны с любым из действий, описанных в таблицах. При выборе нескольких ячеек используйте различные действия в зависимости от того, являются ли они непрерывными или несмежными.

Непрерывные опции выбора
Кликните по ячейке и перетащите.
Кликните по одной ячейке, затем Shift+click другая ячейка, чтобы выбрать все промежуточные ячейки.
Кликните по одной ячейке, затем Shift+arrow key, чтобы добавить непрерывные ячейки.
Нажмите на строку или заголовок столбца, чтобы выбрать целую строку или столбец.
Кликните по ячейке, затем Ctrl+space, чтобы выбрать все ячейки в том столбце (независимо от того, являются ли все ячейки в поле зрения).
Кликните по ячейке, затем Shift+space, чтобы выбрать все ячейки в той строке (независимо от того, являются ли все ячейки в поле зрения).
Выберите строку или столбец. Затем Shift+click другая строка или заголовок столбца, чтобы выбрать все строки или промежуточные столбцы.
Кликните по одной ячейке, затем Shift+PgUp или Shift+PgDn, чтобы выбрать все видимые ячейки выше или ниже той ячейки.
Нажмите Ctrl+A, чтобы выбрать все ячейки в таблице

Несмежные опции выбора
Перетащите, чтобы выбрать непрерывную группу ячеек (или выбрать отдельную ячейку). Затем Ctrl+click, чтобы фокусировать другую ячейку, и наконец Shift+click, чтобы выбрать ячейку, которая находится в особом внимании или Shift+click и перетаскивает, чтобы выбрать область значений ячеек, которые распространяются от него. (Нажатие Shift+arrow key также выбирает больше чем одну ячейку.)
Ctrl+click на строке или заголовке столбца, чтобы выбрать целую строку или столбец. Затем повторитесь, чтобы выбрать другую несмежную строку или столбец.

Когда ячейка фокусируется с помощью Ctrl+click, схема ячейки становится синей (). Когда ячейка выбрана с помощью нажатия кнопки или Shift+click, изменений цвета заливки ячейки в синем ().

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с ячейкой (такой как индексы ячейки). MATLAB передает эту информацию в CellSelectionChangeData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.Indices возвращает индексы выбранной ячейки. CellSelectionChangeData объект не доступен для функций обратного вызова, заданных как векторы символов.

Следующая таблица описывает свойства CellSelectionChangeData объект.

Свойство

Описание

Indices

Это - n- 2 массива, содержащие индексы строки и столбца ячейки, пользователь выбран в запущенном приложении. Для многостолбцовых переменных в табличном массиве индексы столбца обращаются к целому столбцу. Когда столбец сортируется, Indices возвращает оригинал 1 2 массив ячейки, прежде чем это было отсортировано — DisplayIndices возвращает новое местоположение выбранной ячейки, которая отображается визуально в отсортированной таблице.

DisplayIndices

Это - n- 2 массива, содержащие индексы строки и столбца, соответствующие местоположению выбранной ячейки в отображении отсортированной таблицы. Если пользователь не сортирует таблицу, то DisplayIndices имеет то же содержимое как Indices свойство.

Source

Компонент, выполняющий коллбэк.

EventName

'CellSelection'.

Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.

Коллбэк, когда данные об отображении изменяются, заданный как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

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

Эта функция обратного вызова может получить доступ к определенной информации о том, сортируются ли столбцы, или ячейки редактируются. MATLAB передает эту информацию в DisplayDataChangedData возразите в качестве второго аргумента против своей функции обратного вызова. В App Designer аргумент называется событиемВы можете запросить свойства объекта с помощью записи через точку. Например, event.InteractionColumn возвращает индекс столбца, который взаимодействовался с в Data. DisplayDataChangedData объект не доступен для функций обратного вызова, заданных как векторы символов.

СвойствоОписание
DisplayRowNameМассив ячеек RowName значения свойств в отсортированном отображении. DisplayRowName всегда будет сочетание исходного RowName свойство.
DisplayColumnNameМассив ячеек ColumnName значения свойств в отсортированном отображении. DisplayColumnName всегда будет сочетание исходного ColumnName свойство.
Interaction'sort' или 'edit'
InteractionColumnИндекс модифицированного столбца в Data.
InteractionDisplayColumnИндекс модифицированного столбца в DisplayData.
InteractionVariableVariableNames свойство модифицированного столбца для табличных данных массива. Если Data содержит тип данных кроме табличного массива, затем InteractionVariable возвращает пустой символьный массив.
SourceКомпонент, выполняющий коллбэк.
EventName

'DisplayDataChanged'.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Функция создания объекта, заданная как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств прежде, чем выполнить CreateFcn 'callback'. Если вы не задаете CreateFcn свойство, затем MATLAB выполняет функцию создания по умолчанию.

Установка CreateFcn свойство на существующем компоненте не оказывает влияния.

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

Функция удаления объекта, заданная как одно из этих значений:

  • Указатель на функцию.

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет DeleteFcn коллбэк прежде, чем уничтожить свойства объекта. Если вы не задаете DeleteFcn свойство, затем MATLAB выполняет функцию удаления по умолчанию.

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

Контроль выполнения обратного вызова

развернуть все

Прерывание коллбэка, заданное как 'on' или 'off'. Interruptible свойство определяет, может ли рабочий коллбэк быть прерван.

Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Interruptible свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание. Interruptible свойство имеет два возможных значения:

  • 'on' — Позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnowфигураФигура пользовательского интерфейсаgetframewaitfor, или pause команда.

    • Если рабочий коллбэк содержит одну из тех команд, то MATLAB останавливает выполнение коллбэка в той точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.

    • Если рабочий коллбэк не содержит одну из тех команд, то MATLAB закончил выполнять коллбэк без прерывания.

  • 'off' — Блоки все попытки прерывания. BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или помещается в очередь.

Примечание

Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:

  • Если прерыванием обратного вызова является DeleteFcnCloseRequestFcn или SizeChangedFcn коллбэк, затем прерывание происходит независимо от Interruptible значение свойства.

  • Если рабочий коллбэк является выполняющимся в данным моментом waitfor функция, затем прерывание происходит независимо от Interruptible значение свойства.

  • Timer объекты выполняются согласно расписанию независимо от Interruptible значение свойства.

Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный gca или gcf команда может измениться, когда другой коллбэк выполняется.

Постановка в очередь коллбэка, заданная как 'queue' или 'cancel'. BusyAction свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Interruptible свойство объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения BusyAction свойство:

  • 'queue' — Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.

  • 'cancel' — Не выполняет прерывание обратного вызова.

Это свойство доступно только для чтения.

Состояние Deletion, возвращенное как 'off' или 'on'. MATLAB устанавливает BeingDeleted свойство к 'on' когда DeleteFcn коллбэк начинает выполнение. BeingDeleted свойство остается установленным в 'on' пока объект компонента больше не существует.

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

Родительский элемент/Дочерний элемент

развернуть все

Родительский контейнер, заданный как Figure объект создал использование uifigure функция или один из ее дочерних контейнеров: TabПанельГруппа кнопок, или GridLayout. Если никакой контейнер не задан, MATLAB вызывает uifigure функция, чтобы создать новый Figure объект, который служит родительским контейнером.

Дочерние элементы таблицы, возвращенной как пустой массив. Объекты таблицы не имеют никаких дочерних элементов, так установка этого свойства не оказывает влияния.

Видимость указателя на объект, заданного как 'on''callback', или 'off'.

Это свойство контролирует видимость объекта в списке дочерних элементов его родителя. Когда объект не отображается в списке дочерних элементов его родителя, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают getfindobjclf, и closeОбъекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.

Значение HandleVisibilityОписание
'on'Объект всегда виден.
'callback'Объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему.
'off'Объект невидим в любое время. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите HandleVisibility к 'off' временно скрыть объект во время выполнения этой функции.

Идентификаторы

развернуть все

Это свойство доступно только для чтения.

Тип графического объекта, возвращенного как 'uitable'.

Идентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальный Tag значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj функционируйте, чтобы искать основанное на объектах на Tag значение.

Пользовательские данные, заданные как любой массив MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.

Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать UserData свойство. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.

Введенный в R2017b