Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Table のプロパティ

テーブル UI コンポーネントの外観と動作の制御

テーブル UI コンポーネントには、アプリ内のデータの行と列が表示されます。関数 uitable はテーブル UI コンポーネントを作成し、表示される前に必要なプロパティを設定します。Table オブジェクトのプロパティ値を変更することによって、外観および動作の特定の要素を変更できます。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。

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

Table オブジェクトの一部のプロパティおよびプロパティ値は、テーブルが関数 uifigure と関数 figure のどちらを使用して作成された Figure の子かによって異なります。関数 uifigure は、新しいアプリの作成時に使用が推奨される関数であり、App Designer アプリで使用される関数です。詳細については、アプリの作成方法を参照してください。

テーブル

すべて展開する

テーブル データ。次のいずれかのタイプの配列として指定します。

  • table 配列 (uifigure ベースのアプリのみ) — datetimedurationcategorical などの table 配列でサポートするデータ型の組み合わせを表示します。

  • 数値配列 — doublesingle などの数値を表示します。

  • logical 配列 — チェック ボックスを表示します。true 値はオンのボックスを示し、false 値はオフのボックスを示します。

  • cell 配列 — 数値配列値、logical 配列値または文字配列値の任意の組み合わせを表示します。

  • string 配列 — 文字とテキストを表示します。

  • 文字ベクトルの cell 配列 — 文字およびテキストを表示します。

ユーザーが編集可能なセルに無効なデータを入力したときに警告または NaN 値が表示されないようにするには、関数 CellEditCallback を記述してデータを適切な型に変換します。ユーザーがセルを編集すると、Data プロパティが更新されます。

table 配列の指定

App Designer 内および関数 uifigure を使用して作成されたアプリ内では、Data プロパティを table 配列として指定できます。table 配列を使用すると、テーブル データを変数 MATLAB® として簡単に格納できます。table 配列を作成するのは、関数 table、関数 readtable、および関数 array2table です。一方、関数 uitable は、Table UI コンポーネント (アプリのユーザー インターフェイス コンポーネント) を作成します。

Table UI コンポーネントの Data プロパティを table 配列として指定すると、MATLAB では、次のように table 配列の値に基づいて Table UI コンポーネントの形式が自動的に設定されます。

  • 既定では、アプリに表示される列名は、table 配列の VariableNames プロパティと一致します。Table UI コンポーネントの ColumnName プロパティを変更すると UI が更新されますが、table 配列の変数名は更新されません。

  • 既定では、アプリに表示される行名は、table 配列の RowName プロパティと一致します。Table UI コンポーネントの RowName プロパティを変更すると UI が更新されますが、table 配列の行名は更新されません。

  • 各 table 配列変数のデータ型は、アプリ内の対応する列の形式を制御します。ColumnFormat プロパティを設定しようとすると、MATLAB は警告を返します。

table 配列データの表示の詳細については、アプリ内での表形式データの書式設定を参照してください。

数値配列、logical 配列、cell 配列、string 配列、または文字ベクトルの cell 配列の指定

ColumnFormat プロパティを使用して、数値配列、logical 配列、cell 配列、string 配列、または文字ベクトルの cell 配列であるデータの形式を指定します。データを編集した結果、データのデータ型と ColumnFormat プロパティの値で不一致が生じた場合、MATLAB はデータを変換するか、警告を表示します。詳細については、ColumnFormat プロパティの説明を参照してください。

列の見出し名。次の値のいずれかとして指定します。

  • 'numbered' — 列見出しは 1 から始まる連続する番号です。

  • 文字ベクトルの cell 配列、string 配列または categorical 配列 — 配列の各要素は列の名前になります。1 行 n 列の cell 配列を指定した場合、MATLAB は n 行 1 列の cell 配列として値を格納して返します。mn 列の配列を指定した場合、MATLAB は配列を列ベクトルに変更します。列名内に垂直スラッシュ (|) を含めて、複数行の列名を指定します。たとえば、値 'Telephone|Number' は "Telephone" と "Number" の語の間に改行文字を使用して列見出しを生成します。

  • 空の cell 配列 ({}) — テーブルには列見出しがありません。

  • 空行列 ([]) — テーブルには列見出しがありません。

プロパティ配列 Data の列数が配列 ColumnName の要素数と一致しない場合、結果のテーブルの列数は 2 つの値のうちの大きい方になります。

Data プロパティを table 配列として指定すると、既定の列名は table 配列の VariableNames プロパティと一致します。Table UI コンポーネントの ColumnName プロパティを変更すると UI が更新されますが、table 配列の変数名は更新されません。

例: uit = uitable(uifigure,'ColumnName',{'Name';'Number'},'Data',{'Bob',5})

例: uit = uitable(uifigure,'ColumnName',{'Name';[]},'Data',{'Bob',5})

テーブル列の幅。'auto'、または 1n 列の文字ベクトル、string、および数値の cell 配列として指定します。uifigure ベースのアプリでは、列幅を '1x' または 'fit' として追加で指定できます。

  • 自動設定幅 — 'auto' を指定して、MATLAB が複数の要素を使用して自動的に列の幅を計算するようにします。その 1 つは ColumnName プロパティ値です。

  • 幅を内容に合わせる (uifigure ベースのアプリのみ) — 'fit' の値を指定して、列の幅を列名とデータに合わせるように厳密に調整するよう列を設定します。この設定では 'auto' よりも狭い幅の列が許容されます。

  • 一様な幅 (uifigure ベースのアプリのみ) — '1x' の値を指定して、使用できるスペースを等分してすべての列が同じ幅になるようにします。

  • 固定幅 — 列の幅をピクセル単位で定義する数値の cell 配列を指定します。

  • 組み合わせ — cell 配列内で固定と可変の列幅を組み合わせることができます。cell 配列内の各要素はテーブル内の列に対応します。指定した cell 配列の値が列数よりも少ない場合、値が指定されていない列は既定値の 'auto' のままになります。配列の値が列数よりも多い場合、MATLAB は余分な値を無視します。

  • 重み付けされた可変幅 (uifigure ベースのアプリのみ) — 'x' に連結された数字から成る文字ベクトルまたは string ('2x''3x' など) をもつ cell 配列を指定します。それぞれの列の x 係数がその列の幅を、他の列に対する比率として設定します (UI テーブルの残りのスペースを考慮します)。

実行中のアプリでユーザーが対話的にテーブルの列をサイズ変更した場合、サイズ変更後の列幅は、その後に ColumnWidth プロパティを更新しても維持されます。

例: uit = uitable(uifigure,'ColumnWidth','auto','Data',[1 2 3;4 5 6])

例: uit = uitable(uifigure,'ColumnWidth','fit','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',{'2x','1x','1x'},'Data',[1 2 3;4 5 6])

例: uit = uitable(uifigure,'ColumnWidth',{64,"auto",40},'Data',[1 2 3;4 5 6])

例: uit = uitable(uifigure,'ColumnWidth',{'fit','1x','3x'},'Data',[1 2 3;4 5 6])

列セルを編集する機能。以下として指定します。

  • 空の logical 配列 ([]) — 列は編集できません。

  • 1 行 n 列の logical 配列 — この配列は編集可能な列を指定します。n の値はテーブル内の列の数と等しくなります。配列内の各値はテーブルの列に対応します。配列の値が true の場合、その列のセルが編集可能になります。値が false の場合、その列内のセルが編集不可になります。配列の値が列数よりも多い場合、MATLAB は余った値を無視します。配列の値が列数よりも少ない場合、値が指定されていない列は編集不可になります。

  • logical スカラー — テーブル全体が編集可能または編集不可のいずれかになります。

ユーザーがセルを編集すると、Data プロパティが更新されます。

例: uit = uitable(uifigure,'Data',rand(10,3),'ColumnEditable',[false true true])

例: uit = uitable(uifigure,'Data',rand(10,3),'ColumnEditable',false)

チェック ボックスやポップアップ メニューを含むテーブルの列でユーザーがコントロールを操作できるようにするには、ColumnEditable プロパティを true に設定します。

Data プロパティが table 配列である場合、duration など複数列の変数または編集不可のデータ型を含む変数は、ColumnEditable プロパティが true であっても、実行中のアプリで編集できません。cell 配列内に混在するデータ型を含む table 配列変数は、データ型が編集可能であれば実行中のアプリで編集できます。

テーブル列を再配列する機能。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

ColumnRearrangeable の値が 'on' の場合、アプリ ユーザーは列ヘッダーをクリックしてドラッグすることにより、テーブル列を並べ替えることができます。

アプリ内でテーブルの列を再配列しても、Data プロパティ配列の列には影響しません。

例: 再配列可能な列をもつテーブルの作成

UI figure ウィンドウに、再配列可能な列をもつテーブルを作成します。このテーブルの列ヘッダーには視覚的なインジケーターが表示され、ユーザーが列をクリックしてドラッグできることが示されます。

fig = uifigure;
uit = uitable(fig,"Data",magic(3),"ColumnRearrangeable",true);

A table with three columns. The column header cells each have a drag indicator.

1 列目と 2 列目を再配列するには、列 1 のヘッダーのインジケーターをドラッグして、列 2 の右にその列をドラッグします。

A table with three columns. Column 1 is to the right of column 2.

テーブル UI コンポーネントの Data プロパティは変化しませんが、DisplayData プロパティは更新され、データはテーブル ビューで表示されているとおりの順番で保存されます。

tbl.Data
ans =

     8     1     6
     3     5     7
     4     9     2
tbl.DisplayData
ans =

     1     8     6
     5     3     7
     9     4     2

セルの表示形式。空の cell 配列または 1 行 n 列の文字ベクトルの cell 配列として指定します。

Data プロパティに table 配列が含まれる場合、このプロパティは設定しないでください。詳細については、アプリ内での表形式データの書式設定を参照してください。

このプロパティは、数値配列、logical 配列、cell 配列、string 配列、および文字ベクトルの cell 配列のデータ型の表示形式を設定します。cell 配列の要素は、Data プロパティ配列の列に対応します。特定の列の表示形式を指定しない場合は、その列に [] を指定します。列の形式を指定しない場合、MATLAB はセル内のデータのデータ型によって既定の表示を決定します。

cell 配列の要素は、次の表で説明する値のいずれかでなければなりません。

セル形式の値

説明

'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 列の文字ベクトルの cell 配列 ({'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(fig, ...
    "Position", [100 150 380 100], ...
    "ColumnFormat",{[] [] [] {'group 1' 'group 2'}}, ...
    "ColumnEditable",true, ...
    "Data",myData);

Table UI component with three rows and four columns. The fourth column contains cells with text "Choose". One cell is highlighted and displays a drop-down list with options "group 1" and "group 2".

編集可能な列のデータ表示

次の表で、各種データ型が特定の ColumnFormat 値でどのように表示されるかを説明します。

 ColumnFormat
'numeric''char''logical'
データ配列値のデータ型任意の数値型テーブルは数値をそのまま表示します。MATLAB は値をテキストに変換し、テーブルに左揃えで表示します。MATLAB が値を変換できない場合は、NaN が表示されます。推奨されません。MATLAB は、関数 CellEditCallback を定義しない限り、ユーザーがセルを編集するときに警告を返します。
charテーブルには、値が数値であるかのように、右揃えで表示されます。テーブルは、値をそのまま表示します。推奨されません。MATLAB は、関数 CellEditCallback を定義しない限り、ユーザーがセルを編集するときに警告を返します。
logicalテーブルは論理値を数値として表示します。MATLAB は、関数 CellEditCallback を定義しない限り、ユーザーがセルを編集するときに警告を返します。テーブルは論理値を左揃えの 'true' または 'false' として表示します。MATLAB は、関数 CellEditCallback を定義しない限り、ユーザーがセルを編集するときに警告を返します。テーブルはチェック ボックスとして論理値を表示します。

行の名前。次の値のいずれかとして指定します。

  • 'numbered' — 行の見出しは 1 から始まる連続する番号です。

  • 文字ベクトルの cell 配列、string 配列または categorical 配列 — 配列の各要素は行の名前になります。行名は 1 行のテキストに制限されます。1 行 n 列の cell 配列を指定した場合、MATLAB は n 行 1 列の cell 配列として値を格納して返します。mn 列の配列を指定した場合、MATLAB は配列を列ベクトルに変更します。

  • 空の cell 配列 ({}) — テーブルには行見出しがありません。

  • 空行列 ([]) — テーブルには行見出しがありません。

プロパティ配列 Data の行数が配列 RowName の要素数と一致しない場合、結果のテーブルの行数は Data プロパティの行数になります。

Data プロパティを table 配列として指定すると、既定の行名は table 配列の RowName プロパティと一致します。テーブル UI コンポーネントの RowName プロパティを変更すると UI が更新されますが、table 配列の行名は更新されません。

例: uit = uitable(uifigure,"RowName",{'Name';'Number'},"Data",{'Bob';5})

例: uit = uitable(uifigure,"RowName",{'Name';[]},'Data',{'Bob';5})

フォント

すべて展開する

フォント名。システムでサポートされているフォント名として指定します。既定のフォントは、特定のオペレーティング システムとロケールによって異なります。

指定したフォントが利用できない場合、MATLAB は、アプリが実行中のシステムで利用可能なフォントから最もよく一致するフォントを使用します。

例: 'Arial'

figure ベースのアプリ

関数 figure で作成されたアプリ内のテーブルの場合、フォント名を 'FixedWidth' として追加で指定できます。この場合、どのロケールでもテキストが整って見える固定幅のフォントが使用されます。実際に使用される固定幅フォントは、root オブジェクトの FixedWidthFontName プロパティによって決まります。FixedWidthFontName プロパティを変更すると、表示内容が新しいフォントを使用して直ちに更新されます。

フォント サイズ。正の数値として指定します。測定単位はピクセルです。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。

例: 14

フォントの太さ。次のいずれかの値として指定します。

  • 'normal' — 各フォントで定義されている既定の太さ

  • 'bold''normal' よりも太い文字

すべてのフォントに太字フォントがあるとは限りません。太字がないフォントの場合、'bold' を指定すると標準フォントの太さになります。

フォントの角度。'normal' または 'italic' として指定します。すべてのフォントにイタリックのフォントの角度があるわけではありません。イタリックがないフォントの場合、'italic' を指定すると標準フォントの角度になります。

フォントの測定単位。次の表のいずれかの値として指定します。

単位の値説明
'pixels' (既定)

Windows® および Macintosh システムでのピクセル単位の距離は、システムの解像度に依存しません。

  • Windows システムの 1 ピクセルは 1/96 インチです。

  • Macintosh システムの 1 ピクセルは 1/72 インチです。

  • Linux® システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。

'points'

1 ポイントは 1/72 インチです。

'normalized'フォント サイズを高さの割合として指定する、正規化された値。UI コンポーネントのサイズを変更するときに、MATLAB はその割合を維持して、表示されるフォントをスケーリングします。
'inches'インチ。
'centimeters'センチメートル。

figure ベースのアプリ

関数 figure を使用して作成されたアプリ内のテーブルの場合、FontUnits の既定値は 'points' です。

対話機能

すべて展開する

可視性の状態。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — オブジェクトを表示します。

  • 'off' — オブジェクトを削除せずに非表示にします。非表示の UI コンポーネントのプロパティには引き続きアクセスできます。

アプリの起動を高速化するには、起動時に表示する必要のないすべての UI コンポーネントの Visible プロパティを 'off' に設定します。

テーブルの操作可能状態。'on''off' または 'inactive' として指定します。Enable プロパティは、UI コンポーネントがボタンのクリックに応答するかどうかを制御します。以下の 3 つのうちいずれかの値をとります。

  • 'on' – UI コンポーネントは操作可能です。

  • 'off' – UI コンポーネントは操作不可で、グレー表示されます。

  • 'inactive' – UI コンポーネントは操作不可ですが、Enable'on' であるときと同じ外観になります。

Enable プロパティの値とボタン クリックのタイプによって UI の応答方法が決定します。

Enable の値左クリックの応答右クリックの応答
'on'

関数 SelectionChangedFcn が実行されます。Selection プロパティは MATLAB がコールバック関数に渡すコールバック データ オブジェクトで更新されます。

  1. Figure の WindowButtonDownFcn コールバックが実行されます。

  2. ButtonDownFcn コールバックが実行されます。

'off' または 'inactive'

  1. Figure の WindowButtonDownFcn コールバックが実行されます。

  2. ButtonDownFcn コールバックが実行されます。

  1. Figure の WindowButtonDownFcn コールバックが実行されます。

  2. ButtonDownFcn コールバックが実行されます。

ツールヒント。文字ベクトル、文字ベクトルの cell 配列、string 配列、または 1 次元の categorical 配列として指定します。このプロパティを使用して、実行時にユーザーがポインターをコンポーネントに合わせるとメッセージが表示されるようにします。コンポーネントが無効になっている場合でも、ツールヒントは表示されます。複数行のテキストを表示するには、文字ベクトルの cell 配列または string 配列を指定します。配列の各要素は、テキストの各行になります。このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。

コンテキスト メニュー。関数 uicontextmenu を使用して作成された ContextMenu オブジェクトとして指定します。このプロパティは、コンポーネントを右クリックしたときにコンテキスト メニューを表示するために使用します。

色とスタイル

すべて展開する

セル テキストの色。RGB 3 成分、16 進数カラー コード、または表にリストされた色オプションのいずれかとして指定します。ForegroundColor プロパティを使用してセルのテキストの色を設定すると、テーブル UI コンポーネントのすべてのセルに適用されます。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

テーブルの背景色。RGB 3 成分または m 行 3 列の RGB 3 成分の行列として指定します。RGB 3 成分は、色の赤、緑、青成分の強度を指定する行ベクトルです。強度値は [0,1] の範囲でなければなりません。色の名前が無効です。

テーブルの行のシェーディングに m 色の反復パターンを使用する場合、m 行 3 列の行列を指定します。この行列の各行は RGB 3 成分でなければなりません。MATLAB は、RowStriping プロパティが 'on' の場合に行列の行を使用します。テーブルの背景は、RowStriping'on' で、かつ BackgroundColorm 行 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 3 成分を示します。

RGB 3 成分
[1 1 0]
マゼンタ[1 0 1]
シアン[0 1 1]
[1 0 0]
[0 1 0]
[0 0 1]
[1 1 1]
[0 0 0]

1 行おきの網掛け。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティはテーブルの行の網掛けパターンを制御します。RowStriping 値が 'on' に設定されている場合、BackgroundColor 行列は反復パターンとして表示される行の色を指定します。BackgroundColor 行列に 1 行しかない場合は、網掛けはすべてのテーブル行で同じになります。

RowStriping'off' に設定されている場合、BackgroundColor 行列の最初の色はテーブルのすべての行の網掛けを定義します。

位置

すべて展開する

テーブルの位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。次の表で、ベクトルの各要素について説明します。

要素説明
left親コンテナーの内側左端からテーブルの外側左端までの距離
bottom親コンテナーの内側下端からテーブルの外側下端までの距離
widthテーブルの外側の右端と左端の間の距離
heightテーブルの外側の上端と下端の間の距離

すべての測定値は、Units プロパティで指定した単位で表されます。

Position の値の基準は、親コンテナーの "描画可能領域" です。描画可能領域は、コンテナーの境界線の内側にある領域で、メニュー バーやタイトルなどの装飾が占める領域は含まれません。

テーブルの位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。すべての測定値は、Units プロパティで指定した単位で表されます。

このプロパティ値は、Position プロパティ値および OuterPosition プロパティ値と同一です。

テーブルの位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。すべての測定値は、Units プロパティで指定した単位で表されます。

このプロパティ値は、Position プロパティ値および InnerPosition プロパティ値と同一です。

測定の単位。次の表のいずれかの値として指定します。

単位の値説明
'pixels' (既定)

Windows および Macintosh システムでのピクセル単位の距離は、システムの解像度に依存しません。

  • Windows システムの 1 ピクセルは 1/96 インチです。

  • Macintosh システムの 1 ピクセルは 1/72 インチです。

Linux システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。

'normalized'

これらの単位は親コンテナーを基準として正規化されます。コンテナーの左下隅が (0,0) で、右上隅が (1,1) になります。

'inches'インチ。
'centimeters'センチメートル。
'points'ポイント。1 ポイントは 1/72 インチです。
'characters'

これらの単位は、グラフィックス ルート オブジェクトの既定の uicontrol フォントを基にしています。

  • 文字の幅 = 文字 x の幅。

  • 文字の高さ = 2 行のテキストのベースライン間の距離。

既定の uicontrol フォントにアクセスするには、get(groot,'defaultuicontrolFontName') または set(groot,'defaultuicontrolFontName') を使用します。

MATLAB のほとんどのアプリ作成機能では距離をピクセル単位で測定するため、推奨値は 'pixels' です。親コンテナーのサイズに基づいて再スケーリングされるテーブルを作成するには、関数 uigridlayout を使用して作成されたグリッド レイアウト マネージャーをテーブルの親にします。詳細については、プログラミングによるアプリのレイアウトを参照してください。

コールバック

すべて展開する

セル編集コールバック関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバック関数を使用して、アプリ ユーザーがテーブル セルのコンテンツを変更したときの計算や入力の検証を実行できます。

このコールバック関数は、ユーザーのセルの操作に関する特定の情報 (セルのインデックスなど) にアクセスできます。MATLAB は、この情報を CellEditData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.Indices は選択されたセルのインデックスを返します。CellEditData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表に、CellEditData オブジェクトのプロパティを示します。

プロパティ

説明

Indices

これは、実行中のアプリでユーザーが編集したセルの行および列のインデックスを含む 1 行 2 列の配列です。列が並べ替えられている場合、Indices は並べ替え前の元の 1 行 2 列のセルの配列を返し、DisplayIndices は並べ替え後のテーブルにおける編集されたセルの新しい表示位置を返します。

DisplayIndices

これは並べ替え後のテーブルにおける編集されたセルの表示位置に対応する行および列のインデックスを含む 1 行 2 列の配列です。ユーザーが列を並べ替えていない場合、DisplayIndices の内容は Indices プロパティと同じになります。

PreviousData

これは前のセル データです。既定の設定は、空行列 [] です。

EditData

これはユーザーが入力した値です。

NewData

これは、MATLAB がプロパティ配列 Data に書き込んだ値です。

MATLAB がユーザー入力データでエラーを検出した場合、NewData プロパティは空です。

Error

これは、MATLAB がユーザー入力データでエラーを検出した場合に返されるエラー メッセージです。

MATLAB が Data プロパティに値を正常に書き込んだ場合、Error プロパティは空です。

Error プロパティが空でない場合、CellEditCallback はメッセージを表示するか、問題の修正を試行することができます。

Source

コールバックを実行するコンポーネント。

EventName

'CellEdit'.

ユーザーがテーブルのセルを編集すると、MATLAB は以下の手順を実行します。

  1. 新しい値をテーブルの Data プロパティに保存しようとします。

  2. 関数 CellEditCallback (存在する場合) を呼び出します。

値が結果としてエラーになり、関数 CellEditCallback が存在しない場合、セル データは以前の値に戻され、エラーは表示されません。

コールバックの記述の詳細については、App Designer のコールバックを参照してください。

ボタンを押したときのコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。

ButtonDownFcn コールバックは、ユーザーが UI コンポーネント上でマウス ボタンをクリックしたときに実行される関数です。コールバックは次の状況で実行されます。

  • ユーザーがテーブルを右クリックし、Enable プロパティが 'on' に設定されている。

  • ユーザーがテーブルを右クリックまたは左クリックし、Enable プロパティが 'off' または 'inactive' に設定されている。

キーを押したときのコールバック関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。

このコールバック関数は、Table オブジェクトにフォーカスがあり、ユーザーがキーを押したときに実行されます。このプロパティに関数を定義しない場合、MATLAB はキー プレスを親 Figure に渡します。キーを繰り返し押すと Table オブジェクトのフォーカスが維持され、キーが押されるたびに関数が実行されます。ユーザーが複数のキーをほぼ同時に押した場合、MATLAB は最後に押されたキーを検出します。

このプロパティを関数ハンドル (または関数ハンドルを含む cell 配列) で指定した場合、MATLAB はコールバック データを含むオブジェクトをコールバック関数の 2 番目の引数として渡します。このオブジェクトには次の表で説明するプロパティが含まれています。コールバック関数内のこれらのプロパティには、ドット表記を使用してアクセスできます。

プロパティ

説明

例:

a

=

Shift

Shift-a

Character1 つまたは複数のキーを押した結果として表示される文字。文字は空の場合や出力できない場合があります。'a''=''''A'
Modifier押されている 1 つ以上の修飾キー (CtrlAltShift など) の名前が格納される cell 配列です。{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key押されているキー。キーに刻印された (小文字の) ラベルまたはテキストの説明によって識別されます。'a''equal''shift''a'
Sourceユーザーがキーを押したときのフォーカスのあるオブジェクトです。Table オブジェクトTable オブジェクトTable オブジェクトTable オブジェクト
EventNameコールバック関数を実行する原因となったアクションです。'KeyPress''KeyPress''KeyPress''KeyPress'

修飾キーを押すと、次のようにコールバック データに影響します。

  • 修飾キーは Character プロパティに影響を与える可能性がありますが、Key プロパティを変更することはありません。

  • 一部のキーと、Ctrl で修飾されたキーは、Character プロパティに出力不能文字を格納します。

  • CtrlAltShift および他のいくつかのキーは、Character プロパティ データを生成しません。

ユーザーがどの文字を押したかを判断するために、Figure の CurrentCharacter プロパティをクエリすることもできます。

キーを離したときのコールバック関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。

このコールバック関数は、Table オブジェクトにフォーカスがあり、ユーザーがキーを離したときに実行されます。

このプロパティを関数ハンドル (または関数ハンドルを含む cell 配列) で指定した場合、MATLAB はコールバック データを含むオブジェクトをコールバック関数の 2 番目の引数として渡します。このオブジェクトには次の表で説明するプロパティが含まれています。コールバック関数内のこれらのプロパティには、ドット表記を使用してアクセスできます。

プロパティ

説明

例:

a

=

Shift

Shift-a

Character

離されたキーの文字解釈。

'a''=''''A'
Modifier

'control' などの現在の修飾子、または修飾子がない場合は空の cell 配列

{1x0 cell}{1x0 cell}{1x0 cell}{1x0 cell}
Key

離されたキーの名前。キーに刻印された小文字のラベルまたはテキストの説明によって識別されます。

'a''equal''shift''a'
Sourceユーザーがキーを押したときのフォーカスのあるオブジェクトです。Table オブジェクトTable オブジェクトTable オブジェクトTable オブジェクト
EventNameコールバック関数を実行する原因となったアクションです。'ase''ase''ase''ase'

修飾キーを押すと、次のようにコールバック データに影響します。

  • 修飾キーは Character プロパティに影響を与える可能性がありますが、Key プロパティを変更することはありません。

  • 一部のキーと、Ctrl で修飾されたキーは、Character プロパティに出力不能文字を格納します。

  • CtrlAltShift および他のいくつかのキーは、Character プロパティ データを生成しません。

ユーザーがどの文字を押したかを判断するために、Figure の CurrentCharacter プロパティをクエリすることもできます。

オブジェクト作成関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。

このプロパティは、MATLAB がオブジェクトを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に、すべてのプロパティ値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。

既存のコンポーネントに CreateFcn プロパティを設定しても効果はありません。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、作成中のオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

オブジェクト削除関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。

このプロパティは、MATLAB がオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLAB は、オブジェクトのプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、削除されるオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

メモ

このプロパティは、App Designer 内または関数 uifigure を使用して作成されたアプリ内のテーブルには推奨されません。uifigure ベースのアプリでは、アプリ ユーザーがテーブル内で別の要素を選択したときにコマンドを実行するには、代わりに SelectionChangedFcn プロパティを使用します。

セル選択コールバック関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバック関数は、ユーザーがセルを選択したときに実行されます。この関数は、ユーザーのセルの操作に関する特定の情報 (セルのインデックスなど) にアクセスできます。MATLAB は、この情報を CellSelectionChangeData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.Indices は選択されたセルのインデックスを返します。CellSelectionChangeData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表に、CellSelectionChangeData オブジェクトのプロパティを示します。

プロパティ

説明

Indices

これは、実行中のアプリでユーザーが選択したセルの行および列のインデックスを含む n 行 2 列の配列です。table 配列内の変数 multicolumn では、列インデックスが列全体を参照します。列が並べ替えられている場合、Indices は並べ替え前の元の 1 行 2 列のセルの配列を返し、DisplayIndices は並べ替え後のテーブルにおける選択されたセルの新しい表示位置を返します。

DisplayIndices

これは、並べ替え後のテーブルにおける選択されたセルの表示位置に対応する行および列のインデックスを含む n 行 2 列の配列です。ユーザーがテーブルを並べ替えていない場合、DisplayIndices の内容は Indices プロパティと同じになります。

Source

コールバックを実行するコンポーネント。

EventName

'CellSelection'.

コールバックの記述の詳細については、App Designer のコールバックを参照してください。

コールバック実行制御

すべて展開する

コールバックの割り込み。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

MATLAB は、コールバック キューを処理するコマンドを実行するたびにコールバックの割り込み動作を判別します。これらのコマンドには、drawnowfigureuifiguregetframewaitforpause があります。

実行中コールバックにこれらのコマンドが含まれていない場合、割り込みは発生しません。MATLAB は、実行中コールバックの実行を先に終了させ、その後に割り込みコールバックを実行します。

実行中コールバックにこれらのいずれかのコマンドが含まれている場合、実行中コールバックを所有するオブジェクトの Interruptible プロパティに応じて割り込みが発生するかどうかが決まります。

  • Interruptible の値が 'off' の場合、割り込みは発生しません。代わりに、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて、割り込みコールバックが破棄されるかコールバック キューに追加されるかが決まります。

  • Interruptible の値が 'on' の場合、割り込みが発生します。MATLAB は、コールバック キューの次回処理時に、実行中コールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了した後、MATLAB は実行中だったコールバックの実行を再開します。

メモ

コールバックの割り込みと実行は、以下の状況では動作が異なります。

  • 割り込みコールバックが DeleteFcnCloseRequestFcn または SizeChangedFcn コールバックの場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • 実行中のコールバックが関数 waitfor を現在実行している場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • 割り込みコールバックが Timer オブジェクトで所有されている場合、Interruptible プロパティの値にかかわらずスケジュールに従ってコールバックが実行されます。

メモ

MATLAB は、割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば、gca コマンドや gcf コマンドから返されたオブジェクトは、別のコールバックを実行するときに変更されている可能性があります。

コールバック キューイング。'queue' または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

BusyAction プロパティによってコールバック キューイングの動作が決まるのは、次の両方の条件を満たす場合のみです。

  • 実行中コールバックに drawnowfigureuifiguregetframewaitforpause などのコールバック キューを処理するコマンドが含まれている。

  • 実行中コールバックを所有するオブジェクトの Interruptible プロパティの値が 'off' である。

これらの条件に当てはまる場合、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて MATLAB による割り込みコールバックの処理方法が決まります。BusyAction プロパティは次の値を取ることができます。

  • 'queue' — 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。

  • 'cancel' — 割り込みコールバックを実行しません。

この プロパティ は読み取り専用です。

削除状態。matlab.lang.OnOffSwitchState 型の on/off logical 値として返されます。

MATLAB は、DeleteFcn コールバックが実行を開始すると、BeingDeleted プロパティを 'on' に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。

クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。

現在のオブジェクトになる能力。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — ユーザーが実行中のアプリでコンポーネントをクリックしたときに、現在のオブジェクトを Table に設定します。関数 Figure および関数 gco の両方の CurrentObject プロパティは、現在のオブジェクトとして Table を返します。

  • 'off' — ユーザーが実行中のアプリでコンポーネントをクリックしたときに、現在のオブジェクトを、HitTest'on' になる Table の最も近い先祖に設定します。

親/子

すべて展開する

親コンテナー。関数 uifigure を使用して作成された Figure オブジェクト、またはその子コンテナー (TabPanelButtonGroup または GridLayout) のいずれかとして指定します。コンテナーが指定されていない場合、MATLAB は関数 uifigure を呼び出し、親コンテナーとして使用される新しい Figure オブジェクトを作成します。

テーブルの子。空の配列として返されます。Table オブジェクトには子がないため、このプロパティを設定しても効果はありません。

オブジェクト ハンドルの可視性。'on''callback' または 'off' として指定します。

このプロパティは、オブジェクトの親がもつ子のリストにおけるそのオブジェクトの可視性を制御します。オブジェクトがその親オブジェクトのリストで、子として可視できない場合、オブジェクト階層の検索またはプロパティのクエリによってオブジェクトを取得する関数は、そのオブジェクトを返しません。これらの関数には、getfindobjclf および close が含まれます。オブジェクトは参照できない場合も有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。

HandleVisibility の値説明
'on' オブジェクトは常に参照できます。
'callback'オブジェクトはコールバック内から、あるいはコールバックにより呼び出される関数から参照できます。しかし、コマンド ラインから呼び出される関数からは参照できません。このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からのアクセスは許可されます。
'off'オブジェクトは常に参照できません。このオプションは、他の関数による UI の意図しない変更を防止するために役立ちます。HandleVisibility'off' に設定すると、その関数の実行中にオブジェクトが一時的に非表示になります。

識別子

すべて展開する

この プロパティ は読み取り専用です。

グラフィックス オブジェクトのタイプ。'uitable' として返されます。

オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。

ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。

App Designer を使用している場合は、UserData プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。

uifigure ベースのアプリのみ

すべて展開する

この プロパティ は読み取り専用です。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

テーブルの現在の表示データ。table 配列、数値配列、logical 配列、cell 配列、string 配列、または文字ベクトルの cell 配列として返されます。

このプロパティは、ユーザーがテーブルの列の並べ替えまたは再配列を行ったか、セルを編集したかに基づいて可視化を更新する場合に使用します。

MATLAB は、テーブルの列の並べ替えまたは再配列が行われたか、セルが編集されたときに DisplayData を更新します。ユーザーが列の並べ替えや再配列を行っていない場合、DisplayData の内容は Data プロパティと同じになります。ユーザーがセルを編集すると、MATLAB は Data プロパティと DisplayData プロパティの両方を更新します。

例: DataDisplayData の違い

何らかのデータと並べ替え可能な列をもつテーブル UI コンポーネントを作成します。次に、最初の列の値でテーブルを並べ替えます。

fig = uifigure;
tbl = uitable(fig,Data=[4 9; 7 1; 2 3],ColumnSortable=true);

Table UI component with two columns and three rows. The pointer is on the first column header, which shows an indicator that the table is sorted by the values in the first column. The data in the first column appears in ascending order.

テーブルの Data プロパティと DisplayData プロパティをクエリします。Data プロパティは、テーブルが並べ替えられる前の元のテーブル データを返します。

tbl.Data
ans =

     4     9
     7     1
     2     3

DisplayData プロパティは、アプリに表示されているテーブル データを返します。

tbl.DisplayData
ans =

     2     3
     4     9
     7     1

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

列の並べ替えの可否。次のいずれかとして指定します。

  • 空の logical 配列 ([]) — すべての列が並べ替え不可になります。

  • 1 行 n 列の logical 配列 — この配列は並べ替え可能な列を指定します。n の値はテーブル内の列の数と等しくなります。配列内の各値はテーブルの列に対応します。配列の値が true の場合、その列が並べ替え可能になります。値が false の場合、その列が並べ替え不可になります。配列の値が列数よりも多い場合、MATLAB は余った値を無視します。配列の値が列数よりも少ない場合、値が指定されていない列は並べ替え不可になります。

  • logical スカラー — テーブル全体が並べ替え可能 (true) または並べ替え不可 (false) のどちらかになります。

例: uit = uitable(uifigure,'Data',rand(3),'ColumnSortable',[true true false]);

例: uit = uitable(uifigure,'Data',rand(5),'ColumnSortable',true);

Data プロパティに、cell 配列データ、または cell 配列の列を含む table 配列データが含まれる場合、一様なデータ型をもつ列のみが、実行中のアプリで並べ替え可能になります。一様でないデータ型をもつ cell 配列の列は、ColumnSortable プロパティが true であっても、実行中のアプリで並べ替え不可になります。

この プロパティ は読み取り専用です。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

関数 uistyle を使用して作成されて追加されたスタイルの構成。n 行 3 列の table 配列として返されます。table 配列の各行は、テーブル UI コンポーネントに現在適用されているスタイルに対応します。引き続き追加されたスタイルには、スタイル順序番号 n+1 が付与されます。Target 列と TargetIndex 列は、スタイルが追加されたテーブル UI コンポーネントの部分を示します。Style 列は、スタイルのクラス名を示します。

関数 removeStyle を使用してテーブル UI コンポーネントからスタイルを削除する場合に、このプロパティを使用します。

例: スタイルの削除

まず、3 つのスタイルをテーブル 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);

Table UI component. Four rows have a yellow background color, four cells have a red background color, and one column has a blue font color.

uit.StyleConfigurations をクエリすると、3 行 3 列の table 配列が返されます。最初に行スタイルがテーブル UI コンポーネントに追加されるため、行スタイルのスタイル順序番号は 1 です。行スタイルの TargetIndex{1×4 double} は、スタイルの追加時に 4 行が指定されたことを示します。同様に、2 番目のスタイルがテーブルの 4 つのセルに追加されています。3 番目のスタイルは 2 番目の列に追加されています。

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 を指定して、テーブルに追加された 2 番目のスタイルを削除します。テーブル UI コンポーネントがどのように更新されるかがわかります。

removeStyle(uit,2)

Table UI component. Four rows have a yellow background color and one column has a blue font color.

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

テーブルの選択。正の整数、正の整数のベクトル、または n 行 2 列の正の整数の配列として指定します。プログラムでテーブルの選択を設定したり、アプリ ユーザーが選択したテーブル要素をクエリしたりするには、このプロパティを使用します。指定可能な値の型は、SelectionType プロパティと Multiselect プロパティの値によって異なります。

SelectionTypeMultiselectサポートされている値結果
'row''on'正の整数のベクトル[1 3 4 8]

対応する行インデックスをもつすべての行を選択します。

'off'正の整数6

対応する行インデックスをもつ行を選択します。

'column''on'正の整数のベクトル[2 5 7]

対応する列インデックスをもつすべての列を選択します。

'off'正の整数2

対応する列インデックスをもつ列を選択します。

'cell''on'n 行 2 列の正の整数の配列[1 1; 3 4; 4 2]

対応する行と列の添字をもつすべてのセルを選択します。

'off'1 行 2 列の正の整数の配列[3 2]

対応する行と列の添字をもつセルを選択します。

SelectionType'row' または 'column' で、MultiSelect'on' の場合、Selection は行ベクトルまたは列ベクトルとして指定できます。ただし、MATLAB は値を行ベクトルに変換して格納します。

SelectionDisplaySelection の違い

Selection プロパティと DisplaySelection プロパティはどちらも選択されたセルのインデックスを返しますが、これらのインデックスはテーブル データの異なる構成に対応しており、異なる目的で使用することができます。

  • SelectionData プロパティに対応する、選択したセルのインデックスを設定またはクエリします。たとえば、Selection を使用して、ユーザーが選択したデータに対して計算を実行したり、選択したデータのスタイルを更新したりします。

  • DisplaySelectionDisplayData プロパティに対応する、選択したセルのインデックスをクエリします。たとえば、DisplaySelection を使用して、アプリにテーブル データが表示される順序で、選択したデータを抽出します。

ユーザーがテーブルの列の並べ替えや再配列を行っていない場合、2 つのプロパティは同じ値になります。

たとえば、何らかのデータと並べ替え可能な列をもつテーブル UI コンポーネントを作成します。次に、最初の列の値でテーブルを並べ替えて、並べ替えられたテーブルの最初の行を選択します。

fig = uifigure;
tbl = uitable(fig,Data=[4 9; 7 1; 2 3],ColumnSortable=true);

Table UI component with two columns and three rows. The first column header has an indicator that the table is sorted by the values in the first column. The data in the first column appears in ascending order. The pointer is on the first row header, and the data in the first row is selected.

テーブルの Selection プロパティと DisplaySelection プロパティをクエリします。Selection プロパティは、元のテーブル データ内の選択されたセルのインデックスを返します。

tbl.Selection
ans =

     3     1
     3     2

DisplaySelection プロパティは、表示されているテーブル データの選択されたセルのインデックスを返します。

tbl.DisplaySelection
ans =

     1     1
     1     2

この プロパティ は読み取り専用です。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

現在の表示でのテーブルの選択。正の整数、正の整数のベクトル、または n 行 2 列の正の整数の配列として返されます。アプリ ユーザーが選択したテーブル要素を、現在のテーブル表示のとおりにクエリするには、このプロパティを使用します。

DisplaySelection が返す値の型は、SelectionType プロパティと Multiselect プロパティの値によって異なります。

SelectionTypeMultiselect
'row''on'現在の表示で選択されている行のインデックス。正の整数の行ベクトルとして返されます。[1 3 4 8]
'off'現在のディスプレイで選択されている行のインデックス。正の整数として返されます。6
'column''on'現在の表示で選択されている列のインデックス。正の整数の行ベクトルとして返されます。[2 5 7]
'off'現在の表示で選択されている列のインデックス。正の整数として返されます。2
'cell''on'現在の表示で選択されているセルの行および列の添字。n 行 2 列の正の整数の配列として返されます。[1 1; 3 4; 4 2]
'off'現在の表示で選択されているセルの行および列の添字。1 行 2 列の正の整数の配列として返されます。[3 2]

SelectionDisplaySelection の違い

Selection プロパティと DisplaySelection プロパティはどちらも選択されたセルのインデックスを返しますが、これらのインデックスはテーブル データの異なる構成に対応しており、異なる目的で使用することができます。

  • SelectionData プロパティに対応する、選択したセルのインデックスを設定またはクエリします。たとえば、Selection を使用して、ユーザーが選択したデータに対して計算を実行したり、選択したデータのスタイルを更新したりします。

  • DisplaySelectionDisplayData プロパティに対応する、選択したセルのインデックスをクエリします。たとえば、DisplaySelection を使用して、アプリにテーブル データが表示される順序で、選択したデータを抽出します。

ユーザーがテーブルの列の並べ替えや再配列を行っていない場合、2 つのプロパティは同じ値になります。

たとえば、何らかのデータと並べ替え可能な列をもつテーブル UI コンポーネントを作成します。次に、最初の列の値でテーブルを並べ替えて、並べ替えられたテーブルの最初の行を選択します。

fig = uifigure;
tbl = uitable(fig,Data=[4 9; 7 1; 2 3],ColumnSortable=true);

Table UI component with two columns and three rows. The first column header has an indicator that the table is sorted by the values in the first column. The data in the first column appears in ascending order. The pointer is on the first row header, and the data in the first row is selected.

テーブルの Selection プロパティと DisplaySelection プロパティをクエリします。Selection プロパティは、Data プロパティを使用して指定した元のテーブル データ内の選択されたセルのインデックスを返します。

tbl.Selection
ans =

     3     1
     3     2

DisplaySelection プロパティは、表示されているテーブル データの選択されたセルのインデックスを返します。

tbl.DisplaySelection
ans =

     1     1
     1     2

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

テーブルの選択タイプ。'cell''row'、または 'column' として指定します。テーブルの選択タイプでは、ユーザーがテーブルを操作したときに MATLAB によって選択されるテーブル要素を指定します。たとえば、SelectionType'row' の場合に、アプリ ユーザーがテーブルの 2 行目にあるセルをクリックすると、2 行目全体が選択されます。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

複数の要素の選択。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。figure ベースのアプリでは、アプリ ユーザーがテーブル内で別の要素を選択したときにコマンドを実行するには、代わりに CellSelectionCallback プロパティを使用します。

選択変更コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバック関数を使用して、アプリ ユーザーがテーブル内で別のセル、行、または列を選択したときにコマンドを実行します。

このコールバック関数は、ユーザーのテーブル操作 (選択した要素など) に関する特定の情報にアクセスできます。MATLAB は、この情報を TableSelectionChangedData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、この引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.Selection は選択されたセル、行、または列のインデックスを返します。TableSelectionChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表に、TableSelectionChangedData オブジェクトのプロパティを示します。

プロパティ

説明

Selection

実行中のアプリでユーザーが選択した要素のインデックスを含む配列。SelectionType'cell' の場合、これは、ユーザーが選択したセルの行および列のインデックスを含む n 行 2 列の配列です。SelectionType'row' または 'column' の場合、これは、ユーザーが選択した行または列のインデックスを含む 1 行 n 列の配列です。table 配列内の変数 multicolumn では、列インデックスが列全体を参照します。

列が並べ替えられている場合、Selection は並べ替え前のテーブル データにおける選択の位置を返します。並べ替え後のテーブルにおける選択の表示位置を返すには、代わりに DisplaySelection プロパティを使用してください。

PreviousSelection

前に選択されていたテーブル データのセル、行、または列のインデックスを含む配列。

SelectionType

'cell''row'、または 'column' として指定される、選択されたテーブル要素のタイプ。

DisplaySelection

並べ替え後のテーブルにおける選択された要素の表示位置に対応するセル、行、または列のインデックスを含む配列。ユーザーがテーブルを並べ替えていない場合、DisplaySelection の値は Selection と同じになります。

PreviousDisplaySelection

並べ替え後のテーブルにおける前に選択されていた要素の表示位置に対応するセル、行、または列のインデックスを含む配列。ユーザーがテーブルを並べ替えていない場合、PreviousDisplaySelection の値は PreviousSelection と同じになります。

Source

コールバックを実行するコンポーネント。

EventName

'SelectionChanged'.

コールバックの記述の詳細については、App Designer のコールバックを参照してください。

ユーザーが、クリックするか、矢印キーを使用するか、次のいずれかのキーボード ショートカットを使用してテーブルの選択を変更すると、テーブルで SelectionChangedFcn コールバックが実行されます。

連続している場合の選択オプションは次のとおりです。

  • セルをクリックしてドラッグします。

  • いずれかのセルをクリックしてから、Shift を押しながら別のセルをクリックすると、間にあるすべてのセルが選択されます。

  • いずれかのセルをクリックしてから、Shift を押しながら矢印キーを押すと、連続するセルが追加されます。

  • 行または列の見出しをクリックすると、行全体または列全体が選択されます。

  • セルをクリックしてから、Ctrl を押しながらスペース バーを押すと、その列のすべてのセルが選択されます (表示されていないセルもすべて含まれます)。

  • セルをクリックしてから、Shift を押しながらスペース バーを押すと、その行のすべてのセルが選択されます (表示されていないセルもすべて含まれます)。

  • 行または列を選択します。その後、Shift を押しながら別の行または列の見出しをクリックすると、間にあるすべての行または列が選択されます。

  • いずれかのセルをクリックしてから、Shift+PageUp または Shift+PageDown を押すと、そのセルの上または下に表示されているすべてのセルが選択されます。

  • Ctrl+A を押すと、テーブル内のすべてのセルが選択されます。

連続していない場合の選択オプションは次のとおりです。

  • セルまたはセルのグループを選択します。その後、Ctrl キーを押しながら連続していないセル、行、または列をクリックして選択または選択解除します。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

表示データが変更されたときのコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバックは、DisplayData が変化すると実行されます。これは、アプリ ユーザーが次のいずれかの操作を行った場合に発生します。

  • セルの編集

  • テーブルの列の並べ替え

  • テーブルの列の再配列

DisplayData が変化する原因となったユーザー操作に関する情報が必要な場合に、このコールバックを使用します。編集されたセルに関する特定の情報が必要な場合は、代わりに CellEditCallback を作成します。

このコールバック関数は、列の並べ替えまたは再配列が行われたか、セルが編集されたかに関する特定の情報にアクセスできます。MATLAB は、この情報を DisplayDataChangedData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.InteractionColumn は、Data で操作された列のインデックスを返します。DisplayDataChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

プロパティ説明
DisplayRowName並べ替え後の表示における RowName プロパティの値の cell 配列。DisplayRowName は、常に元の RowName プロパティの置換になります。
DisplayColumnName並べ替え後の表示における ColumnName プロパティの値の cell 配列。DisplayColumnName は、常に元の ColumnName プロパティの置換になります。
Interactionコールバックをトリガーしたユーザーの操作。'sort''edit'、または 'rearrange' として指定されます。
InteractionColumnData 内で変更された列のインデックス。
InteractionDisplayColumnDisplayData 内で変更された列のインデックス。
InteractionVariable変更された列の table 配列データの VariableNames プロパティ。Data に table 配列以外のデータ型が含まれている場合、InteractionVariable は空の文字配列を返します。
DisplaySelection

並べ替え後のテーブルにおける選択された要素の表示位置に対応するセル、行、または列のインデックスを含む配列。

PreviousDisplaySelection

並べ替え後のテーブルにおける前に選択されていた要素の表示位置に対応するセル、行、または列のインデックスを含む配列。

Sourceコールバックを実行するコンポーネント。
EventName

'DisplayDataChanged'.

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

クリックしたときの関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバック関数は、ユーザーがテーブル UI コンポーネント内の任意の位置をクリックしたときに実行されます。

このコールバック関数は、ユーザーのテーブル操作に関する特定の情報にアクセスできます。MATLAB は、この情報を ClickedData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.InteractionInformation は、ユーザーがクリックしたテーブル内の位置に関する情報を返します。ClickedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表は、ClickedData オブジェクトのプロパティを示しています。

プロパティ
InteractionInformation

アプリ ユーザーがクリックしたコンポーネント内の位置に関する情報。この情報は、次のプロパティをもつオブジェクトとして保存されます。

  • DisplayRow

  • DisplayColumn

  • Row

  • Column

  • RowHeader

  • ColumnHeader

  • ScreenLocation

  • Location

ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.InteractionInformation.Row は、ユーザーがテーブルのどの行をクリックしたかを返します。

Sourceコールバックを実行するコンポーネント
EventName'Clicked'

次の表に、テーブル UI コンポーネントに関連付けられている InteractionInformation オブジェクトのプロパティを示します。

プロパティ
DisplayRow

ユーザーのクリック位置に視覚的に表示されているテーブルの行。スカラーとして返されます。

ユーザーがテーブルを並べ替えていない場合、DisplayRow の値は Row と同じになります。ユーザーのクリックしたテーブル UI コンポーネントの領域が行に関連付けられていない場合、DisplayRow は空の配列になります。

DisplayColumn

ユーザーのクリック位置に視覚的に表示されているテーブルの列。スカラーとして返されます。

ユーザーがテーブルを再配列していない場合、DisplayColumn の値は Column と同じになります。ユーザーのクリックしたテーブル UI コンポーネントの領域が列に関連付けられていない場合、DisplayColumn は空の配列になります。

Row

ユーザーのクリック位置に対応する元のテーブル データの行。スカラーとして返されます。

ユーザーがテーブルを並べ替えていない場合、Row の値は DisplayRow と同じになります。ユーザーのクリックしたテーブル UI コンポーネントの領域が行に関連付けられていない場合、Row は空の配列になります。

Column

ユーザーのクリック位置に対応する元のテーブル データの列。スカラーとして返されます。

ユーザーがテーブルを再配列していない場合、Column の値は DisplayColumn と同じになります。ユーザーのクリックしたテーブル UI コンポーネントの領域が列に関連付けられていない場合、Column は空の配列になります。

RowHeaderユーザーがテーブルの行ヘッダーをクリックしたかどうか。logical の 0 (false) または 1 (true) として返されます。
ColumnHeaderユーザーがテーブルの列ヘッダーをクリックしたかどうか。logical の 0 (false) または 1 (true) として返されます。
Location

テーブルの親コンテナーの左下隅を基準とした、ユーザーのクリック位置。[x y] の形式の 2 要素ベクトルとして返されます。

x の値は、親コンテナーの左端からクリック位置までの水平距離を表します。y の値は、親コンテナーの下端からクリック位置までの垂直距離を表します。距離はピクセル単位で測定されます。

ScreenLocation

プライマリ ディスプレイの左下隅を基準とした、ユーザーのクリック位置。[x y] の形式の 2 要素ベクトルとして返されます。

x の値は、ディスプレイの左端からクリック位置までの水平距離を表します。y の値は、ディスプレイの下端からクリック位置までの垂直距離を表します。距離はピクセル単位で測定されます。

コールバックの記述の詳細については、App Designer のコールバックを参照してください。

例: テーブル セルがクリックされたときの背景色の選択

何らかのデータをもつテーブル UI コンポーネントを作成します。ユーザーがテーブルをクリックしたときに実行される、colorCells という名前の ClickedFcn コールバック関数を指定します。関数 colorCells 内で次を行います。

  • event.InteractionInformation オブジェクトを使用して、ユーザーがセルをクリックしたかどうかに関する情報にアクセスします。

  • ユーザーが (ヘッダーや空白の領域ではなく) セルをクリックした場合、ユーザーが背景色を選択するためのカラー ピッカーを開きます。

  • 選択した色を使用して Style オブジェクトを作成し、それをテーブル セルに追加します。

  • キーボードのフォーカスをテーブル UI コンポーネントに戻します。

この例を試すには、次のコードを新しいスクリプトに保存して、実行します。テーブル内のセルをクリックし、そのセルの背景色を選択します。

fig = uifigure;
t = uitable(fig);
t.Data = rand(5);
t.ClickedFcn = @colorCells;

function colorCells(src,event)
r = event.InteractionInformation.Row;
c = event.InteractionInformation.Column;
if ~isempty(r) && ~isempty(c)
    removeStyle(src)
    color = uisetcolor;
    s = uistyle(BackgroundColor=color);
    addStyle(src,s,"cell",[r c]);
    focus(src)
end
end

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

ダブルクリックしたときのコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバック関数は、ユーザーがテーブル UI コンポーネント内の任意の位置をダブルクリックしたときに実行されます。

このコールバック関数は、ユーザーのテーブル操作に関する特定の情報にアクセスできます。MATLAB は、この情報を DoubleClickedData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.InteractionInformation は、ユーザーがダブルクリックしたテーブル内の位置に関する情報を返します。DoubleClickedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表は、DoubleClickedData オブジェクトのプロパティを示しています。

プロパティ
InteractionInformation

アプリ ユーザーがダブルクリックしたコンポーネント内の位置に関する情報。この情報は、次のプロパティをもつオブジェクトとして保存されます。

  • DisplayRow

  • DisplayColumn

  • Row

  • Column

  • RowHeader

  • ColumnHeader

  • ScreenLocation

  • Location

ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.InteractionInformation.Row は、ユーザーがテーブルのどの行をダブルクリックしたかを返します。

Sourceコールバックを実行するコンポーネント
EventName'DoubleClicked'

次の表に、テーブル UI コンポーネントに関連付けられている InteractionInformation オブジェクトのプロパティを示します。

プロパティ
DisplayRow

ユーザーのダブルクリック位置に視覚的に表示されているテーブルの行。スカラーとして返されます。

ユーザーがテーブルを並べ替えていない場合、DisplayRow の値は Row と同じになります。ユーザーのダブルクリックしたテーブル UI コンポーネントの領域が行に関連付けられていない場合、DisplayRow は空の配列になります。

DisplayColumn

ユーザーのダブルクリック位置に視覚的に表示されているテーブルの列。スカラーとして返されます。

ユーザーがテーブルを再配列していない場合、DisplayColumn の値は Column と同じになります。ユーザーのダブルクリックしたテーブル UI コンポーネントの領域が列に関連付けられていない場合、DisplayColumn は空の配列になります。

Row

ユーザーのダブルクリック位置に対応する元のテーブル データの行。スカラーとして返されます。

ユーザーがテーブルを並べ替えていない場合、Row の値は DisplayRow と同じになります。ユーザーのダブルクリックしたテーブル UI コンポーネントの領域が行に関連付けられていない場合、Row は空の配列になります。

Column

ユーザーのダブルクリック位置に対応する元のテーブル データの列。スカラーとして返されます。

ユーザーがテーブルを再配列していない場合、Column の値は DisplayColumn と同じになります。ユーザーのダブルクリックしたテーブル UI コンポーネントの領域が列に関連付けられていない場合、Column は空の配列になります。

RowHeaderユーザーがテーブルの行ヘッダーをダブルクリックしたかどうか。logical の 0 (false) または 1 (true) として返されます。
ColumnHeaderユーザーがテーブルの列ヘッダーをダブルクリックしたかどうか。logical の 0 (false) または 1 (true) として返されます。
Location

テーブルの親コンテナーの左下隅を基準とした、ユーザーのダブルクリック位置。[x y] の形式の 2 要素ベクトルとして返されます。

x の値は、親コンテナーの左端からダブルクリック位置までの水平距離を表します。y の値は、親コンテナーの下端からダブルクリック位置までの垂直距離を表します。距離はピクセル単位で測定されます。

ScreenLocation

プライマリ ディスプレイの左下隅を基準とした、ユーザーのダブルクリック位置。[x y] の形式の 2 要素ベクトルとして返されます。

x の値は、ディスプレイの左端からダブルクリック位置までの水平距離を表します。y の値は、ディスプレイの下端からダブルクリック位置までの垂直距離を表します。距離はピクセル単位で測定されます。

コールバックの記述の詳細については、App Designer のコールバックを参照してください。

例: テーブル セルがダブルクリックされたときの背景色の選択

何らかのデータをもつテーブル UI コンポーネントを作成します。ユーザーがテーブルをダブルクリックしたときに実行される、colorCells という名前の DoubleClickedFcn コールバック関数を指定します。関数 colorCells 内で次を行います。

  • event.InteractionInformation オブジェクトを使用して、ユーザーがセルをダブルクリックしたかどうかに関する情報にアクセスします。

  • ユーザーが (ヘッダーや空白の領域ではなく) セルをダブルクリックした場合、ユーザーが背景色を選択するためのカラー ピッカーを開きます。

  • 選択した色を使用して Style オブジェクトを作成し、それをテーブル セルに追加します。

  • キーボードのフォーカスをテーブル UI コンポーネントに戻します。

この例を試すには、次のコードを新しいスクリプトに保存して、実行します。テーブル内のセルをダブルクリックし、そのセルの背景色を選択します。

fig = uifigure;
t = uitable(fig);
t.Data = rand(5);
t.DoubleClickedFcn = @colorCells;

function colorCells(src,event)
r = event.InteractionInformation.Row;
c = event.InteractionInformation.Column;
if ~isempty(r) && ~isempty(c)
    removeStyle(src)
    color = uisetcolor;
    s = uistyle(BackgroundColor=color);
    addStyle(src,s,"cell",[r c]);    
    focus(src)
end
end

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のテーブルでのみ有効です。

レイアウト オプション。GridLayoutOptions オブジェクトとして指定します。このプロパティは、グリッド レイアウト コンテナーの子であるコンポーネントのオプションを指定します。コンポーネントがグリッド レイアウト コンテナーの子ではない場合 (たとえば、Figure またはパネルの子である場合) は、このプロパティは空で、効果はありません。しかし、コンポーネントがグリッド レイアウト コンテナーの子である場合は、GridLayoutOptions オブジェクトの Row プロパティおよび Column プロパティを設定して、グリッドの目的の行と列にコンポーネントを配置することができます。

たとえば、次のコードはテーブル UI コンポーネントを親グリッドの 3 行目の 2 列目に配置します。

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

テーブルが複数の行または列にまたがるようにするには、Row プロパティまたは Column プロパティを 2 要素ベクトルとして指定します。たとえば、次のテーブルは列 2 と列 3 にまたがっています。

uit.Layout.Column = [2 3];

figure ベースのアプリのみ

すべて展開する

この プロパティ は読み取り専用です。

メモ

このプロパティは、関数 figure を使用して作成されたアプリ内のテーブルでのみ有効です。

囲んでいる四角形のサイズ。4 要素の行ベクトルとして返されます。ベクトルの最初の 2 要素は常にゼロです。3 番目と 4 番目の要素はそれぞれ、テーブルを含む四角形の幅と高さです。すべての測定値は、Units プロパティで指定した単位で表されます。

MATLAB は現在の DataRowName および ColumnName プロパティ値に基づいて四角形のサイズを決定します。MATLAB は列幅と行幅を使用して幅と高さの値を推定します。推定される範囲は Figure よりも大きい場合があります。

Position プロパティの幅と高さの値を指定するときには、Extent プロパティの値の使用を検討します。

バージョン履歴

R2008a で導入

すべて展開する