Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

addStyle

テーブル UI コンポーネントにスタイルを追加

説明

addStyle(uit,s) は、関数 uistyle で作成されたスタイルを、指定したテーブル UI コンポーネントに追加します。スタイルはテーブル全体に適用されます。テーブルは、関数 uifigure で作成された Figure またはその子コンテナーのうちの 1 つを親としなければなりません。

addStyle(uit,s,target,targetIndex) は、特定の行、列、またはセルにスタイルを追加します。たとえば、addStyle(uit,s,'column',3) は、指定したテーブルの 3 番目の列にスタイルを追加します。

すべて折りたたむ

Figure 内でテーブル UI コンポーネントを作成します。

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)

テーブル UI コンポーネント内の欠損値を含むセルのスタイルを設定します。この場合は、NaN 値をもつセルに黄色の背景色スタイルを追加します。

津波のサンプル データを table 配列としてワークスペースに読み取ります。次に、データを表示するテーブル UI コンポーネントを作成します。

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 を使用して、欠損値を含むテーブル要素の logical 配列を取得します。NaN 値をもつ要素の行と列の添字を見つけます。最後に、黄色の背景色スタイルを作成し、テーブル UI コンポーネントの NaN 値を含むセルに追加します。

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

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

複数のスタイルを作成し、テーブル UI コンポーネントのさまざまな部分に追加します。

テーブル UI コンポーネントを含む Figure を作成し、テーブル内に数値データを表示します。後からセルのスタイルを設定できるように、テーブル内でゼロより小さい値を含む要素の行と列の添字を見つけます。

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

背景色スタイルを 2 つと、フォントの色と太さを指定するスタイルを 1 つ作成します。シアンの背景色を、列 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)

入力引数

すべて折りたたむ

テーブル コンポーネント。関数 uitable で作成された Table オブジェクトとして指定します。Table オブジェクトは、関数 uifigure で作成された Figure か、またはその子コンテナーの 1 つを親としなければなりません。

関数 uistyle で作成された Style オブジェクト。

スタイルのターゲット。'row''column''cell'、または 'table' として指定します。この引数を使用して、スタイルの適用先となるテーブル部分のタイプを示します。

例: addStyle(uit,s,'column',5) は、uit の 5 番目の列にスタイルを追加します。

例: addStyle(uit,s,'cell',[3 7]) は、3 行 7 列目のセルにスタイルを追加します。

スタイルのターゲット インデックス。以下の各表にリストされたいずれかの値として指定します。指定可能な値の型は、ターゲットと、テーブル UI コンポーネントで使用されているデータの型によって異なります。

ターゲットサポートされている値結果
'row'

正の整数。

4

対応する行インデックスをもつ行にスタイルを追加します。

正の整数のベクトル

[3 8 9 12]

対応する行インデックスをもつ複数の行にスタイルを追加します。

'column'

正の整数。

3

対応する列インデックスをもつ列にスタイルを追加します。

正の整数のベクトル

[1 2 7 14]

対応する列インデックスをもつ複数の列にスタイルを追加します。

'cell'

n 行 2 列の正の整数の配列。

[2 4;5 9;13 27]

対応する行と列の添字をもつセルにスタイルを追加します。

'table'

空の文字ベクトル。

''

テーブル全体にスタイルを適用します。

基となるデータが table 配列であるテーブル UI コンポーネントには、ターゲットが 'column' として指定されている場合、追加のオプションがあります。table 配列内の変数名に基づいてスタイルを列に適用する場合は、targetIndex に以下の値を指定します。

ターゲットサポートされている値
'column'

string スカラー。

対応する変数名をもつ列にスタイルを追加します。

"Torque"

string 配列。

対応する変数名をもつ複数の列にスタイルを追加します。

["Torque" "Mass"]

文字ベクトル。

対応する変数名をもつ列にスタイルを追加します。

'Revenue'

文字ベクトルの 1 次元 cell 配列。

対応する変数名をもつ複数の列にスタイルを追加します。

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

セルの値が特定の条件を満たすかどうかに基づいてセルのスタイルを指定する場合、セルが編集可能であれば、関数 CellEditCallback を使用して指定した条件を満たすスタイルのターゲット インデックスを再計算し、これらの新しいセルを targetIndex として設定するテーブルに新しいスタイルを追加します。

ヒント

  • テーブルに追加されたスタイルのリストを表示するには、StyleConfigurations プロパティの値をクエリします。

R2019b で導入