exponenta event banner

addStyle

Добавление стиля к компоненту пользовательского интерфейса таблицы

Описание

пример

addStyle(uit,s) добавляет стиль, созданный с помощью uistyle к указанному компоненту пользовательского интерфейса таблицы. Стиль применяется ко всей таблице. Таблица должна быть родительской для фигуры, созданной с помощью uifigure или к одному из дочерних контейнеров.

пример

addStyle(uit,s,target,targetIndex) добавляет стиль к определенной строке, столбцу или ячейке. Например, addStyle(uit,s,'column',3) добавляет стиль в третий столбец указанной таблицы.

Примеры

свернуть все

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

fig = uifigure;
fig.Position = [500 500 520 200];

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

Затем создайте красный курсив шрифта с помощью uistyle функция. Добавьте его во всю таблицу с помощью addStyle функция.

s = uistyle('FontAngle','italic','FontColor','r');
addStyle(uit,s)

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

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

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

fig = uifigure('Position',[500 500 750 350]);
uit = uitable(fig);
uit.Position = [20 20 710 310];
uit.Data = tdata;
uit.RowName = 'numbered';

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

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

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

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

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

fig = uifigure;
fig.Position = [500 500 720 230];

uit = uitable(fig);
uit.Data = randi([-20,20],7);
uit.Position = [20 30 680 185];

[row,col] = find(uit.Data < 0);

Создайте два стиля цвета фона и один стиль, определяющий цвет и вес шрифта. Добавьте голубой цвет фона к столбцам 1, 3 и 5. Подчеркните ячейки отрицательными значениями, сделав их шрифт красным и жирным. Затем выполните стиль строк 3 и 4 с зеленым цветом фона. Наконец, повторно используйте стиль цвета голубого фона и добавьте его в столбец 7. Для ячеек, в которые добавлено несколько стилей одного типа, стиль, который добавляется последним, отображается в ячейке.

s1 = uistyle;
s1.BackgroundColor = 'cyan';
addStyle(uit,s1,'column',[1 3 5])

s2 = uistyle;
s2.FontColor = 'red';
s2.FontWeight = 'bold';
addStyle(uit,s2,'cell',[row,col])

s3 = uistyle;
s3.BackgroundColor = 'green';
addStyle(uit,s3,'row',[3 4])

addStyle(uit,s1,'column',7)

Входные аргументы

свернуть все

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

Объект-стиль, созданный с помощью uistyle функция.

Целевой объект стиля, указанный как 'row', 'column', 'cell', или 'table'. Этот аргумент используется для указания типа табличной детали, к которой применяется стиль.

Пример: addStyle(uit,s,'column',5) добавляет стиль к пятому столбцу uit.

Пример: addStyle(uit,s,'cell',[3 7]) добавляет стиль к ячейке в строке 3, столбец 7.

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

ЦельПоддерживаемые значенияПримерыРезультат
'row'

Положительное целое число.

4

Добавляет стиль к строке с соответствующим индексом строки.

Вектор положительных целых чисел

[3 8 9 12]

Добавляет стиль к строкам с соответствующими индексами строк.

'column'

Положительное целое число.

3

Добавление стиля к столбцу с соответствующим индексом столбца.

Вектор положительных целых чисел.

[1 2 7 14]

Добавление стиля к столбцам с соответствующими индексами столбцов.

'cell'

n-на-2 массив положительных чисел.

[2 4;5 9;13 27]

Добавление стиля к ячейкам с соответствующими индексами строк и столбцов.

'table'

Пустой символьный вектор.

''

Добавление стиля ко всей таблице.

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

ЦельПоддерживаемые значенияПримеры
'column'

Скаляр строки.

Добавление стиля к столбцу с соответствующим именем переменной.

"Torque"

Строковый массив.

Добавление стиля к столбцам с соответствующими именами переменных.

["Torque" "Mass"]

Символьный вектор.

Добавление стиля к столбцу с соответствующим именем переменной.

'Revenue'

1-D массив ячеек символьных векторов

Добавление стиля к столбцам с соответствующими именами переменных.

{'Year','Expenses','Revenue'}

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

Совет

  • Чтобы просмотреть список стилей, добавленных в таблицу, запросите значение StyleConfigurations собственность.

Представлен в R2019b