Управляйте внешним видом и поведением компонента таблицы UI
Таблица компоненты пользовательского интерфейса показывает строки и столбцы данных в приложении. Функция uitable
создает компонент таблицы UI и устанавливает любые необходимые свойства прежде, чем отобразить его. Путем изменения значений свойств можно изменить определенные аспекты его внешнего вида и поведения. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.
uf = uifigure; t = uitable(uf,'Data',[1 2 3; 4 5 6; 7 8 9]); t.FontSize = 10;
Свойства, перечисленные здесь, допустимы для таблиц в App Designer, или в приложениях, созданных с функцией uifigure
. Для таблиц, используемых в GUIDE, или в приложениях, созданных с функцией figure
, смотрите Свойства таблиц.
Данные
Табличные данныеТабличные данные, заданные как один из следующих типов массива:
Табличный массив — Отображения любая комбинация типов данных, которые массивы table
поддерживают, такие как datetime
, duration
и categorical
.
Числовой массив — числовые значения Отображений, такие как double
или single
.
Логический массив — флажки Displays. значения true
соответствуют установленным флажкам, тогда как значения false
не проверяются.
Массив ячеек — Отображения любая комбинация числовых, logical
или значений char
.
Массив ячеек из символьных векторов Символы отображений и текст.
Чтобы предотвратить предупреждения или значения NaN
, которые отображаются, когда пользователи вводят недопустимые данные, запишите функцию CellEditCallback
, чтобы преобразовать данные в соответствующий тип. Когда пользователь редактирует ячейку, обновления свойства Data
.
Табличные массивы обеспечивают удобный способ хранить табличные данные как переменную MATLAB®. table
, readtable
и функции array2table
создают табличные массивы. В отличие от этого, функция uitable
создает компонент пользовательского интерфейса Table
(компонент пользовательского интерфейса для приложения).
Когда вы задаете свойство Data
компонента пользовательского интерфейса Table
как табличный массив, MATLAB устанавливает формат компонента пользовательского интерфейса Table
автоматически на основе значений в табличном массиве:
По умолчанию имена столбцов, отображенные в приложении, совпадают со свойством VariableNames
табличного массива. Изменение свойства ColumnName
компонента пользовательского интерфейса Table
обновляет пользовательский интерфейс, но это не обновляет имена переменных в табличном массиве.
По умолчанию имена строки, отображенные в приложении, совпадают со свойством RowNames
табличного массива. Изменение свойства RowName
компонента пользовательского интерфейса Table
обновляет пользовательский интерфейс, но это не обновляет имена строки в табличном массиве.
Тип данных каждого табличного форматирования средств управления переменной типа массив для соответствующего столбца в приложении. При попытке установить свойство ColumnFormat
, MATLAB возвращает предупреждение.
Для получения дополнительной информации об отображающихся табличных данных массива смотрите Табличные Типы данных массива в Приложениях App Designer.
Используйте свойство ColumnFormat
задать формат для числового, logical
, массива ячеек или данных о массиве ячеек из символьных векторов. Если данные редактируются и приводят к несоответствию между типом данных данных и свойством ColumnFormat
, MATLAB преобразовывает данные или выводит предупреждение. Смотрите Отображение Данных Доступных для редактирования Столбцов в описании свойства ColumnFormat
для получения дополнительной информации.
DisplayData
— Табличные данные в текущем отображенииЭто свойство доступно только для чтения.
Табличные данные в текущем отображении, возвращенном как таблица, числовой, логический, или массив ячеек, или как массив ячеек из символьных векторов.
Используйте это свойство, если вы хотите обновить свою визуализацию на основе того, как пользователь отсортировал таблицу, содержащую данные table
.
DisplayData
обновляется, когда столбцы таблицы сортируются. Таблицы поддерживают сортировку столбца, только если им сохранили массив table
в их свойстве Data
. Если пользователь не сортирует таблицу, или если значение, сохраненное в свойстве Data
, не является массивом table
, то DisplayData
имеет то же содержимое как значение, сохраненное в свойстве Data
.
ColumnName
Имена столбцов'numbered'
(значение по умолчанию) | n
-by-1
массив ячеек из символьных векторов | n
-by-1
категориальный массив | массив пустой ячейки ({}
) |...Имена столбцов, заданные как одно из этих значений:
'numbered'
— Заголовки столбцов являются порядковыми номерами, которые запускаются в 1
.
Массив ячеек из символьных векторов или категориальный массив — Каждый элемент массива становятся именем столбца. Имена столбцов ограничиваются одной строкой текста. Если вы задаете 1
-by-n
массив ячеек, MATLAB хранит и возвращает значение как n
-by-1
массив ячеек. Если вы задаете m
-by-n
массив, MATLAB изменяет размерность массива в вектор-столбец.
Массив пустой ячейки ({}
) — Таблица не имеет никаких заголовков столбцов.
Пустая матрица ([]
) — Таблица не имеет никаких заголовков столбцов
Если количество столбцов в массиве свойства Data
не совпадает с числом элементов в массиве ColumnName
, то количество столбцов в получившейся таблице является большими из этих двух значений.
Если вы задаете свойство Data
как табличный массив, то имена столбцов по умолчанию совпадают со свойством VariableNames
табличного массива. Изменение свойства ColumnName
компонента пользовательского интерфейса Table
обновляет пользовательский интерфейс, но это не обновит имена переменных в табличном массиве.
Пример: t = uitable(uifigure,'ColumnName',{'Name'; 'Number'},'Data',{'Bob' 5})
Пример: t = uitable(uifigure,'ColumnName',{'Name'; []},'Data',{'Bob' 5})
ColumnWidth
Ширина столбцов таблицы'auto'
(значение по умолчанию) | 1
-by-n
массив ячеекШирина столбцов таблицы, заданных как 'auto'
или как 1
-by-n
массив ячеек.
Каждый столбец в массиве ячеек соответствует столбцу в таблице. Значения находятся в пиксельных модулях. Если вы задаете 'auto'
, то MATLAB вычисляет ширину столбца автоматически с помощью нескольких факторов, один из которых является значением свойства ColumnName
.
Можно объединить фиксированные ширины столбца и ширину столбцов 'auto'
в массиве ячеек, или можно задать одно значение 'auto'
, чтобы сделать всю ширину столбцов автоматической. Если массив имеет меньше значений, чем количество столбцов, то столбцы без заданного значения сохраняют значение по умолчанию, 'auto'
. Если массив имеет больше значений, чем количество столбцов, MATLAB игнорирует избыточные значения.
Пример: t = uitable(uifigure,'ColumnWidth','auto','Data',[1 2 3; 4 5 6])
Пример: t = uitable(uifigure,'ColumnWidth',{64 60 40},'Data',[1 2 3; 4 5 6])
Пример: t = uitable(uifigure,'ColumnWidth',{64 'auto' 40},'Data',[1 2 3; 4 5 6])
ColumnEditable
Способность отредактировать ячейки столбца[]
(значение по умолчанию) | логический 1
-by-n
массив | логический скалярСпособность отредактировать ячейки столбца, заданные как:
Пустой логический массив ([]
) — Никакие столбцы не доступны для редактирования.
Логический 1
-by-n
массив — Этот массив задает, какие столбцы доступны для редактирования. Значение n
равно количеству столбцов в таблице. Каждое значение в массиве соответствует столбцу таблицы. Значение true
в массиве делает ячейки в том столбце доступными для редактирования. Значение false
делает ячейки в том столбце недоступными для редактирования. Если массив имеет больше значений, чем количество столбцов, MATLAB игнорирует избыточные значения. Если массив имеет меньше значений, чем количество столбцов, то столбцы без заданного значения не доступны для редактирования.
Логический скаляр — целая таблица доступна для редактирования или недоступна для редактирования.
Когда пользователь редактирует ячейку, обновления свойства Data
.
Пример: t = uitable(uifigure,'Data',rand(10,3),'ColumnEditable',[false true true])
Пример: t = uitable(uifigure,'Data',rand(10,3),'ColumnEditable',false)
Чтобы позволить пользователям взаимодействовать со средствами управления в столбцах таблицы, которые содержат флажки или всплывающие меню, установите свойство ColumnEditable
на true
.
Если свойство Data
является табличным массивом, то любые переменные, которые содержат значения duration
, смешанные типы данных в массиве ячеек или несколько столбцов, не доступны для редактирования в запущенном приложении, даже когда свойством ColumnEditable
является true
.
ColumnSortable
— Способность отсортировать столбцы[]
(значение по умолчанию) | логический скаляр | логический 1
-by-n
массивСпособность отсортировать столбцы, заданные как:
Пустой логический массив ([]
) — Никакие столбцы не являются поддающимися сортировке.
Логический скаляр — целая таблица является поддающейся сортировке (true
) или неподдающейся сортировке (false
).
Логический 1
-by-n
массив — Этот массив задает, какие столбцы являются поддающимися сортировке. Значение n
равно количеству столбцов в таблице. Каждое значение в массиве соответствует столбцу таблицы. Значение true
в массиве делает тот столбец поддающимся сортировке. Значение false
делает тот столбец неподдающимся сортировке. Если массив имеет больше значений, чем количество столбцов, MATLAB игнорирует избыточные значения. Если массив имеет меньше значений, чем количество столбцов, то столбцы без заданного значения не являются поддающимися сортировке.
Пример: uit = uitable(uifigure,'Data',t,'ColumnSortable',true);
Пример: uit = uitable(uifigure,'Data',t,'ColumnSortable',[true true false]);
Чтобы включить сортировку столбца, значение свойства Data
должно быть табличным массивом. Установка свойства ColumnSortable
к true
не имеет никакого эффекта, если значение свойства Data
является числовым, logical
, массивом ячеек или типом данных массива ячеек из символьных векторов.
ColumnFormat
Формат отображения ячейки{}
) (значение по умолчанию) | 1
-by-n
массив ячеек из символьных векторовФормат отображения ячейки, заданный как массив пустой ячейки или 1
-by-n
массив ячеек из символьных векторов.
Не устанавливайте это свойство, когда свойство Data
будет содержать массив table
. Для получения дополнительной информации смотрите Табличные Типы данных массива в Приложениях App Designer.
Это наборы свойств формат для отображения числового, logical
, массив ячеек и типы данных массива ячеек из символьных векторов. Элементы массива ячеек соответствуют столбцам в массиве свойства Data
. Если вы не хотите задавать формат отображения для конкретного столбца, задайте []
для того столбца. Если вы не задаете формат для столбца, MATLAB определяет отображение по умолчанию по условию тип данных в ячейке.
Элементы массива ячеек должны быть одним из значений, описанных в следующей таблице.
Значение формата ячеек | Описание |
---|---|
'char' | Отобразите лево-выровненные по ширине значения. Если элемент в массиве свойства Чтобы отредактировать ячейку, пользователь вводит текст, чтобы заменить существующее значение. |
'logical' | Отобразите флажок. Первоначально, флажок устанавливается, когда соответствующее значение Чтобы отредактировать ячейку, пользователь выбирает или снимает флажок. Затем MATLAB устанавливает соответствующее значение |
'numeric' | Отобразите выровненное по правому знаку значение, эквивалентное отображению Командного окна для числовых данных. Если элемент в массиве свойства Чтобы отредактировать ячейку, пользователь может ввести любой текст. Если пользователь вводит текст, который представляет константу, такую как |
1 -by-n массив ячеек из символьных векторов, такой как {'one' 'two' 'three'} | Отобразите всплывающее меню в доступном для редактирования столбце. Значение отображается как есть, если свойство Чтобы отредактировать ячейку, пользователь выбирает элемент из всплывающего меню или вводит текст, чтобы создать новый элемент. MATLAB устанавливает соответствующее значение свойства |
Имя формата принято функцией | Отобразите значения свойств |
Если значение ColumnFormat
задает всплывающее меню, начальное значение Data
не должно быть одной из опций в том меню. Начальное значение Data
появляется, пока пользователь не делает различный выбор.
Например, предположите, что значением свойства Data
для данного столбца является 'Choose'
для всех строк, и значение ColumnFormat
задает всплывающее меню с выбором 'group 1'
и 'group 2'
. Когда MATLAB составляет таблицу, те ячейки таблицы отображают 'Choose'
, пока пользователь не выбирает элемент во всплывающем меню:
f = uifigure; myData = {'Andrew' 31 'Male' 'Choose'; ... 'Bob' 41 'Male' 'Choose'; ... 'Anne' 20 'Female' 'Choose';}; t = uitable('Parent', f,... 'Position', [100 100 334 78],... '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 . | Таблица показывает логические значения как флажки. |
RowName
'RowNames' 'numbered'
(значение по умолчанию) | n
-by-1
массив ячеек из символьных векторов | n
-by-1
категориальный массив | массив пустой ячейки ({}
) |...Имена строки, заданные как одно из этих значений:
'numbered'
— Заголовки строк являются порядковыми номерами, которые запускаются в 1
.
Массив ячеек из символьных векторов или категориальный массив — Каждый элемент массива становятся именем строки. Имена строки ограничиваются одной строкой текста. Если вы задаете 1
-by-n
массив ячеек, MATLAB хранит и возвращает значение как n
-by-1
массив ячеек. Если вы задаете m
-by-n
массив, MATLAB изменяет размерность массива в вектор-столбец.
Массив пустой ячейки ({}
) — Таблица не имеет никаких заголовков строк.
Пустая матрица ([]
) — Таблица не имеет никаких заголовков строк
Если количество строк в массиве свойства Data
не совпадает с числом элементов в массиве RowName
, то количество строк в получившейся таблице отражает количество строк в свойстве Data
.
Если вы задаете свойство Data
как табличный массив, то имена строки по умолчанию совпадают со свойством RowNames
табличного массива. Изменение свойства RowName
компонента пользовательского интерфейса Table
обновляет пользовательский интерфейс, но это не обновит имена строки в табличном массиве.
Пример: t = uitable(uifigure,'RowName',{'Name';'Number'},'Data',{'Bob';5})
Пример: t = uitable(uifigure,'RowName',{'Name';[]},'Data',{'Bob';5})
FontName
FontName Название шрифта, заданное как система, поддержало название шрифта. Шрифт по умолчанию зависит от конкретной операционной системы и локали.
Если указанный шрифт недоступен, MATLAB использует тот, который больше всего похож на него из всех шрифтов, доступных в той системе, в которой работает приложение.
Пример: 'Arial'
'FontSize'
'FontSize' Размер шрифта, заданный в виде положительного числа. Единицами измерения являются пиксели. Размер шрифта по умолчанию зависит от конкретной операционной системы и локали.
Пример: 14
FontWeight
FontWeight 'normal'
(значение по умолчанию) | 'bold'
Толщина шрифта, заданная как одно из этих значений:
normal' — Насыщенность по умолчанию, определяемая конкретным видом шрифта
'bold' — более тонкие контуры символов, чем 'normal'
Не все шрифты имеют полужирное начертание шрифта. Поэтому установка жирного шрифта привести к установке обычного шрифта.
FontAngle
FontAngle 'normal'
(значение по умолчанию) | 'italic'
Угол шрифта, заданный как 'normal'
или 'italic'
. Установка свойства italic выбирает наклонную версию шрифта, если она доступна в системе пользователя приложения.
'FontUnits'
Модули размера шрифта'pixels'
Модули размера шрифта, заданный 'pixels'
.
Visible
— Табличная видимость'on'
(значение по умолчанию) | 'off'
Табличная видимость, заданная как 'on'
или 'off'
. Когда Visible
является 'off'
, таблица не видима, но можно запросить и установить ее свойства.
Чтобы заставить ваше приложение запуститься быстрее, установите свойство Visible
всех компонентов, которые первоначально не отображены к 'off'
.
Enable
— Рабочее состояние таблицы'on'
(значение по умолчанию) | 'off'
Рабочее состояние таблицы, заданной как 'on'
или 'off'
. Свойство Enable
управляет, отвечает ли таблица на взаимодействие с пользователем. Двух возможных значений:
'on'
– Таблица является операционной.
'off'
Таблица появляется grayed и не отвечает на взаимодействие с пользователем.
Tooltip
— Подсказка''
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторов | массив строк | 1D категориальный массивПодсказка, заданная как вектор символов, массив ячеек из символьных векторов, массив строк или 1D категориальный массив. Используйте это свойство отобразить сообщение, когда пользователь наведет указатель на компонент во время выполнения. Подсказка отображается, даже когда компонент отключен. Чтобы отобразить несколько строк текста, задайте массив ячеек из символьных векторов или массив строк. Каждый элемент в массиве становится отдельной строкой текста. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.
ForegroundColor
Цвет текста ячейки[0 0 0]
(значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
|...Цвет текста ячейки, заданный как триплет RGB, шестнадцатеричный цветовой код или один из перечисленных в таблице параметров цвета.
Триплеты 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' |
BackgroundColor
Табличный цвет фона[1 1 1; 0.94 0.94 0.94]
(значение по умолчанию) | триплет RGB | m
-by-3
матрица триплетов RGBТабличный цвет фона, заданный как триплет RGB или m
-by-3
матрица триплетов RGB. Триплет RGB является вектором - строкой, который задает интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений, [0,1]
. Названия цвета не допустимы.
Задайте m
-by-3
матрица когда это необходимо штриховка строк таблицы, чтобы следовать за повторяющимся шаблоном m
различные цвета. Каждой строкой матрицы должен быть триплет RGB. MATLAB использует строки матрицы, когда свойством RowStriping
является 'on'
. Табличный фон не чередуется, если и RowStriping
не является 'on'
и BackgroundColor
, m
-by-3
матрица.
Пример: t = uitable(uifigure,'Data',rand(10,3),'BackgroundColor',[0.85 0.85 1])
Пример: t = 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] |
RowStriping
Альтернативная штриховка строки'on'
(значение по умолчанию) | 'off'
Альтернативная штриховка строки, заданная как 'on'
или 'off'
. Это свойство управляет шаблоном штриховки строк таблицы.
Когда значение RowStriping
установлено к 'on'
, матрица BackgroundColor
задает цвета строки, чтобы отобразиться в повторяющемся шаблоне. Если матрица BackgroundColor
имеет только одну строку, то штриховка является тем же самым во всех строках таблицы.
То, когда RowStriping
установлен в 'off'
, затем первые раскрашивают матрицу BackgroundColor
, задает штриховку для всех строк в таблице.
Position
— Местоположение и размер таблицы[left bottom width height]
Местоположение и размер таблицы, заданной как четырехэлементный вектор формы [left bottom width height]
. В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю таблицы |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю таблицы |
width | Расстояние между правыми и левыми внешними краями таблицы |
height | Расстояние между верхними и нижними внешними краями таблицы |
Все измерения указаны в единицах, заданных свойством Units.
Значения Position соответствуют выделенной области родительского контейнера.
Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую художественными оформлениями, такими как панель меню или заголовок.
InnerPosition
Местоположение и размер таблицы[left bottom width height]
Местоположение и размер таблицы, заданной как четырехэлементный вектор формы [left bottom width height]
. Все измерения указаны в единицах, заданных свойством Units.
Это значение свойства идентично значениям свойств OuterPosition
и Position
.
OuterPosition
Местоположение и размер таблицы[left bottom width height]
Местоположение и размер таблицы, заданной как четырехэлементный вектор формы [left bottom width height]
. Все измерения указаны в единицах, заданных свойством Units.
Это значение свойства идентично значениям свойств InnerPosition
и Position
.
Модули
Модули измерения'pixels'
(значение по умолчанию)Модули измерения, заданного как 'pixels'
. MATLAB измеряет все модули от левого нижнего угла родительского объекта.
Размещение
Параметры макетаLayoutOptions
(значение по умолчанию) | объект GridLayoutOptions
Параметры макета, заданные как объект GridLayoutOptions
. Это свойство задает опции для компонентов, которые являются дочерними элементами контейнеров макетов сетки. Если компонент не является дочерним элементом контейнера макетов сетки (например, это - дочерний элемент фигуры или панели), то это свойство пусто и не имеет никакого эффекта. Однако, если компонент является дочерним элементом контейнера макетов сетки, можно поместить компонент в желаемую строку и столбец сетки путем установки свойств Row
и Column
на объекте GridLayoutOptions
.
Например, этот код помещает компонент таблицы UI в третью строку и второй столбец ее родительской сетки.
g = uigridlayout([4 3]);
t = uitable(g,'Data',rand(10,3));
t.Layout.Row = 3;
t.Layout.Column = 2;
Чтобы заставить таблицу охватить несколько строк или столбцов, задайте свойство Row
или Column
как двухэлементный вектор. Например, эта таблица охватывает столбцы 2
через 3
:
t.Layout.Column = [2 3];
CellEditCallback
Функция обратного вызова редактирования ячейкиФункция обратного вызова редактирования ячейки, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Используйте эту функцию обратного вызова, чтобы выполнить вычисления или подтвердить вход, когда пользователь приложения изменит содержимое ячейки таблицы.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с ячейкой (такой как индексы ячейки). MATLAB передает эту информацию в объекте CellEditData
в качестве второго аргумента к вашей функции обратного вызова. В App Designer аргумент называется событием.
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.Indices
возвращает индексы выбранной ячейки. Объект CellEditData
не доступен функциям обратного вызова, заданным как векторы символов.
Следующая таблица описывает свойства объекта CellEditData
.
Свойство | Описание |
---|---|
Indices | Это 1 2 массив, содержащий индексы строки и столбца ячейки, которую отредактировал пользователь. Если отредактированное значение является элементом в многостолбцовой переменной табличного массива, индекс столбца относится к местоположению целого столбца. Когда столбец сортируется, |
DisplayIndices | Это 1 2 массив, содержащий индексы строки и столбца, соответствующие местоположению отредактированной ячейки в отображении отсортированной таблицы. Только таблицы, которым сохранили массив |
PreviousData | Это - предыдущие данные о ячейке. Значением по умолчанию является пустая матрица, |
EditData | Это - вводимое пользователями значение. Если отредактированное значение является элементом в многостолбцовой переменной табличного массива, |
NewData | Это - значение, которое MATLAB записал в массив свойства Свойство |
Error | Это - сообщение об ошибке, возвращенное, если MATLAB обнаруживает ошибку во вводимых пользователями данных. Свойство Если свойство |
Source | Компонент, выполняющий коллбэк. |
EventName |
|
Когда пользователь редактирует ячейку таблицы, MATLAB выполняет эти шаги:
Попытки сохранить новое значение в свойство Data
таблицы
Вызывает функцию CellEditCallback
(если она существует),
Если результаты значения по ошибке и нет никакой функции CellEditCallback
, то данные о ячейке возвращаются к своему предыдущему значению и никаким ошибочным отображениям.
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
CellSelectionCallback
Функция обратного вызова выбора ячейкиФункция обратного вызова выбора ячейки, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение 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 | Это - |
DisplayIndices | Это - |
Source | Компонент, выполняющий коллбэк. |
EventName |
|
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
DisplayDataChangedFcn
— Коллбэк, когда данные об отображении изменяются''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк, когда данные об отображении изменяются, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется, когда DisplayData
изменяется, потому что пользователь или редактирует ячейку или столбцы видов таблицы. Только таблицы, которым сохранили массив table
к сортировке столбца поддержки свойства Data
.
Эта функция обратного вызова может получить доступ к определенной информации о том, сортируются ли столбцы таблицы. MATLAB передает эту информацию в объекте DisplayDataChangedData
в качестве второго аргумента к вашей функции обратного вызова. В App Designer аргумент называется событием.
Вы можете запросить свойства объекта с помощью записи через точку. Например, event.InteractionColumn
возвращает индекс столбца, который взаимодействовался с в Data
. Объект DisplayDataChangedData
не доступен функциям обратного вызова, заданным как векторы символов.
Свойство | Описание |
---|---|
DisplayRowName | Массив ячеек значений свойств RowName в отсортированном отображении. DisplayRowName всегда будет перестановкой или подмножеством исходного свойства RowName . |
DisplayColumnName | Массив ячеек значений свойств ColumnName в отсортированном отображении. DisplayColumnName всегда будет перестановкой или подмножеством исходного свойства ColumnName . |
Interaction | 'sort' |
InteractionColumn | Индекс измененного столбца относительно Data . |
InteractionDisplayColumn | Индекс измененного столбца относительно DisplayData . |
InteractionVariable | Свойство VariableNames измененного столбца для табличных данных массива. Если Data является числовым массивом или массивом ячеек, то InteractionVariable возвращает пустой символьный массив. |
Source | Компонент, выполняющий коллбэк. |
EventName |
|
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.
CreateFcn
Функция создания''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция создания объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств перед выполнением обратного вызова CreateFcn.
Если вы не задаете свойство CreateFcn, то MATLAB выполняет функцию создания по умолчанию.
Настройка свойства CreateFcn в существующем компоненте не имеет никакого эффекта.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
DeleteFcn
Функция удаления''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция удаления объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет обратный вызов DeleteFcn перед уничтожением свойств объекта.
Если вы не задаете свойство DeleteFcn, то MATLAB выполняет функцию удаления по умолчанию.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который удаляется с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
Interruptible
— Прерывание коллбэка'on'
(значение по умолчанию) | 'off'
Прерывание обратного вызова, обозначаемое как 'on' или 'off'.
Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Свойство «Прерывание» объекта, имеющего текущий обратный вызов, определяет, разрешено ли прерывание.
Свойство «Прерывание» имеет два возможных значения:
'on'
— Позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnow
, figure
, uifigure
, getframe
, waitfor
или команда pause
.
Если рабочий коллбэк содержит одну из тех команд, то MATLAB останавливает выполнение коллбэка в той точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если рабочий коллбэк не содержит одну из тех команд, то MATLAB закончил выполнять коллбэк без прерывания.
'off'
Блоки все попытки прерывания. Свойство BusyAction объекта, владеющего прерывистым обратным вызовом, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерывающий обратный вызов является обратным вызовом DeleteFcn, CloseRequestFcn или SizeChangedFcn, то прерывание происходит независимо от значения свойства прерывания.
Если текущий обратный вызов выполняет функцию waitfor, то прерывание происходит независимо от значения свойства прерывания.
Объекты-таймеры выполняются в соответствии с расписанием независимо от значения свойства прерывания.
Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный командой gca или gcf, может измениться при выполнении другого обратного вызова.
BusyAction
Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка обратного вызова в очередь задается как 'queue' или 'cancel'.
Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Свойство Interruptible
объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то свойство BusyAction
объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения свойства BusyAction
:
'queue'
— Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.
отмена
Не выполняет прерывание обратного вызова.
BeingDeleted
— Deletion'off'
| 'on'
Это свойство доступно только для чтения.
Удаление статуса, возврат на 'off' или 'on'.
MATLAB задает значение свойства BeingDeleted 'on', когда обратный вызов DeleteFcn начинает выполнение.
Значение свойства BeingDeleted остается 'on' до того момента, как объект перестанет существовать.
Проверьте значение свойства BeingDeleted, чтобы убедиться, что объект не будет удален до запроса или изменения.
Parent
— Родительский контейнерFigure
(значение по умолчанию) | объект Panel
| объект Tab
| объект ButtonGroup
| объект GridLayout
Родительский контейнер, заданный как объект Figure
, создал использование функции uifigure
или одного из ее дочерних контейнеров: Tab
, Panel
, ButtonGroup
или GridLayout
. Если никакой контейнер не задан, MATLAB вызывает функцию uifigure
, чтобы создать новый объект Figure
, который служит родительским контейнером.
Children
— Дочерние элементы таблицыДочерние элементы таблицы, возвращенной как пустой массив. Объекты таблицы не имеют никаких дочерних элементов, так установка этого свойства не имеет никакого эффекта.
HandleVisibility
Видимость указателя на объект'on'
(значение по умолчанию) | 'callback'
| 'off'
Видимость указателя на объект, заданная как 'on', 'callback' или 'off'.
Это свойство контролирует видимость объекта в списке дочерних элементов его родителя. Когда объект не отображается в списке дочерних элементов его родителя, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают в себя get, findobj, clf и close.
Объекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.
Значение HandleVisibility | Описание |
---|---|
'on' | Объект всегда виден. |
'callback' | Объект видим из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему. |
'off' | Объект невидим в любое время. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите значение HandleVisibility на 'off', чтобы временно скрыть объект во время выполнения этой функции. |
Ввод
Тип графического объекта'uitable'
Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'uitable'
.
Тег
Идентификатор объекта''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИдентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальное значение Tag
, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать функцию findobj для поиска объекта на основе значения тега.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные, заданные как любой массив MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.
Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать свойство UserData
. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.