Ajaxフレームワーク UI部品リファレンス |
目次
索引
![]() ![]() |
第2章 画面部品 | > 2.3 テーブル部品 |
TableEditは、2次元のデータを表形式で表示し、編集することもできる部品です。
本部品では、行のソートはできません。
<div rcf:id="model1" rcf:type="Model" rcf:object="modelData"></div> ... <div rcf:type="TableEdit" rcf:data="model1" ... > <div rcf:type="ViewColumn" ... ></div> ... </div> |
表の項目の意味は、“表の項目の意味”を参照してください。
名前 |
データ型 |
説明 |
省略 |
省略値 |
属性指定 |
更新 |
部分更新 |
---|---|---|---|---|---|---|---|
editable |
Boolean |
セルの内容を編集可能にするかどうかを指定します。
|
可 |
true |
値 |
可 |
不可 |
selectedCell |
Object |
選択されているセルのインデックスオブジェクトを返します。 |
可 |
null |
バインド |
不可 |
不可 |
innerTabMove |
Boolean |
Tabキーによるセルのフォーカス移動操作の有効/無効を指定します。
|
可 |
true |
値 |
可 |
不可 |
TableViewのプロパティも指定できます。詳細は、“TableView”の“プロパティ”を参照してください。
部品共通のプロパティも指定できます。詳細は、“画面部品共通プロパティ”を参照してください。
デフォルトの各データ型の表示内容を、以下の表に示します。
データ型 |
表示内容 |
---|---|
String |
文字列 |
Number |
10進数での数値 |
Boolean |
trueまたはfalse |
Object(nullを除く) |
JavaScriptにより文字列化した内容 |
Array |
JavaScriptにより文字列化した内容 |
Date |
JavaScriptにより文字列化した内容 |
null |
null |
undefined |
何も表示されない |
データ型を文字列化した内容はJavaScriptの処理系に依存するため、ブラウザにより表示が異なる場合があります。
DateInputを指定した場合のデフォルトの表示内容を、以下の表に示します。
DateInputにconverterを指定しなかった場合、デフォルトのconverterの内容により表示されます。
データ型 |
表示内容 |
---|---|
Date |
yyyy/MM/dd 形式 |
それ以外 |
何も表示されない |
converterを指定した場合は、そのconverterのformat関数の戻り値が表示されます。
NumberInputを指定した場合のデフォルトの表示内容を、以下の表に示します。
NumberInputにconverterを指定しなかった場合、デフォルトのconverterの内容により表示されます。
データ型 |
表示内容 |
---|---|
Number |
10進数での数値 |
それ以外 |
何も表示されない |
converterを指定した場合は、そのconverterのformat関数の戻り値が表示されます。
データ型 |
入力部品 |
---|---|
String |
TextInput |
Number |
NumberInput |
Date |
DateInput |
String、Number、およびDate以外の値は、表示することはできます。それらのデータを表示する場合は、ViewColumnのeditable属性をfalseにしてください。データ型と入力部品が一致していない場合は、編集時にエラー(RCF14201)になります。
また、NumberInputおよびDateInputによる編集では、不正な値が入力された場合、デフォルトでは以下のとおりになります。
入力された値の変換方法をカスタマイズしたい場合は、converterプロパティで指定してください。
データ |
TextInput |
NumberInput |
DateInput |
---|---|---|---|
null |
不可(エラー) |
不可(エラー) |
可 |
undefined |
可 |
可 |
可 |
NaN |
不可(エラー) |
可 |
不可(エラー) |
行の選択を行う場合は、行ヘッダ部が表示されている必要がありますので、showRowHeaderプロパティにtrueを指定してください。
フォーカスがある場合、TableEditの外枠にフォーカスがあることを示すアウトラインが表示されます。また、フォーカスが当たったとき、TableEdit内では、以下の行にフォーカスが当たり、キーボードによりセルに対するフォーカスを移動させることができます。
マウス操作
操作 |
処理 |
||
---|---|---|---|
単一選択モード |
複数選択モード |
||
セルでクリック |
クリックしたセルを選択します。 |
||
セルでダブルクリック |
セルを編集状態に変更します。 |
||
行ヘッダでクリック |
なし |
クリックした行を選択します。 |
ほかの選択状態を解除し、クリックした行を選択します。 |
+Shift |
直前に選択/解除した行からクリックした行までを範囲選択します。 |
||
+Ctrl |
クリックした行の選択/解除を切り替えます。 |
キーボード操作
キーボード操作は、TableEditにフォーカスが当たっている場合に、有効になります。
操作 |
処理 |
||
---|---|---|---|
単一選択モード |
複数選択モード |
||
スペース |
フォーカスセルを選択します。 |
||
↑ |
フォーカスを上のセルに移動します。 |
||
↓ |
フォーカスを下のセルに移動します。 |
||
← |
フォーカスを左のセルに移動します。 |
||
→ |
フォーカスを右のセルに移動します。 |
||
Enter |
セルの編集状態を切り替えます。 |
||
ESC |
編集状態の場合、入力内容を破棄し、編集状態を解除します。 |
||
Tab |
なし |
フォーカスを右のセルに移動します。右端のセルの場合は、次の行の左端のセルに移動します。 |
|
+Shift |
フォーカスを左のセルに移動します。左端のセルの場合は、前の行の右端のセルに移動します。 |
||
Home |
フォーカスを先頭セルに移動します。 |
||
End |
フォーカスを最終セルに移動します。 |
||
PageUp |
スクロールバーが表示されている場合、上にスクロールします。 |
||
PageDown |
スクロールバーが表示されている場合、下にスクロールします。 |
注) TableEditがFocusManagerによるフォーカス制御対象となっている場合、FocusManagerの設定が優先されます。
TableEditをFocusManagerによるフォーカス制御対象とする場合
TableEditをFocusManagerによるフォーカス制御の対象とする場合には、以下の注意事項があります。
テーブルのスタイル
パーツ名 |
プレフィックス |
クラス名 |
指定可能なスタイル |
---|---|---|---|
部品全体 |
なし |
rcf-TableEdit |
|
列ヘッダ |
ccell |
rcf-TableEdit-ccell |
|
セル |
cell |
rcf-TableEdit-cell |
|
操作によるスタイル変更
操作によるスタイルは、CSSでだけ設定できます。
行ヘッダにフォーカスがある場合のスタイルを以下に示します。
プレフィックス |
クラス名 |
指定可能なスタイル |
---|---|---|
rowFocused |
rcf-TableEdit-rowFocused |
|
行ヘッダにより行が選択された場合のスタイルを以下に示します。
プレフィックス |
クラス名 |
指定可能なスタイル |
---|---|---|
rowSelected |
rcf-TableEdit-rowSelected |
|
セルにフォーカスがある場合のスタイルを以下に示します。
プレフィックス |
クラス名 |
指定可能なスタイル |
---|---|---|
cellFocused |
rcf-TableEdit-cellFocused |
|
セルが選択された場合のスタイルを以下に示します。
プレフィックス |
クラス名 |
指定可能なスタイル |
---|---|---|
cellSelected |
rcf-TableEdit-cellSelected |
|
セルを編集しているときのスタイルを以下に示します。
プレフィックス |
クラス名 |
指定可能なスタイル |
---|---|---|
cellEditing |
rcf-TableEdit-cellEditing |
|
詳細は、“スタイルプロパティ”を参照してください。
本部品全体のイベントリスナを以下に示します。
名前 |
説明 |
イベントオブジェクト |
---|---|---|
onDataChange |
dataプロパティが変更されたときに呼ばれます。 |
部品共通のイベントリスナもあります。詳細は、“画面部品共通イベントリスナ”を参照してください。
列ヘッダ部のイベントリスナを以下に示します。
名前 |
説明 |
イベントオブジェクト |
---|---|---|
onClickColumn |
列ヘッダ部をマウスでクリックされたときに呼ばれます。 |
|
onDblClickColumn |
列ヘッダ部をマウスでダブルクリックされたときに呼ばれます。 |
|
onMouseDownColumn |
マウスが列ヘッダ部の上で押し下げられたときに呼ばれます。 |
|
onMouseUpColumn |
マウスが列ヘッダ部の上で離されたときに呼ばれます。 |
|
onMouseOverColumn |
マウスが列ヘッダ部の上に重ねられたときに呼ばれます。 |
|
onMouseOutColumn |
マウスが列ヘッダ部の上から外れたときに呼ばれます。 |
|
onMouseMoveColumn |
マウスが列ヘッダ部の上で動いたときに呼ばれます。 |
行ヘッダ部のイベントリスナを以下に示します。
名前 |
説明 |
イベントオブジェクト |
---|---|---|
onClickRow |
行ヘッダ部をマウスでクリックされたときに呼ばれます。 |
|
onDblClickRow |
行ヘッダ部をマウスでダブルクリックされたときに呼ばれます。 |
|
onMouseDownRow |
マウスが行ヘッダ部の上で押し下げられたときに呼ばれます。 |
|
onMouseUpRow |
マウスが行ヘッダ部の上で離されたときに呼ばれます。 |
|
onMouseOverRow |
マウスが行ヘッダ部の上に重ねられたときに呼ばれます。 |
|
onMouseOutRow |
マウスが行ヘッダ部の上から外れたときに呼ばれます。 |
|
onMouseMoveRow |
マウスが行ヘッダ部の上で動いたときに呼ばれます。 |
|
onSelectRow |
行が選択状態になったときに呼ばれます。 |
|
onDeselectRow |
行の選択状態が解除されたときに呼ばれます。 |
セルのイベントリスナを以下に示します。
名前 |
説明 |
イベントオブジェクト |
---|---|---|
onClickCell |
セルがクリックされたときに呼ばれます。 |
|
onDblClickCell |
セルがダブルクリックされたときに呼ばれます。 |
|
onMouseDownCell |
マウスがセルの上で押し下げられたときに呼ばれます。 |
|
onMouseUpCell |
マウスがセルの上で離されたときに呼ばれます。 |
|
onMouseOverCell |
マウスがセルの上に重ねられたときに呼ばれます。 |
|
onMouseOutCell |
マウスがセルの上から外れたときに呼ばれます。 |
|
onMouseMoveCell |
マウスがセルの上で動いたときに呼ばれます。 |
|
onFocusCell |
セルにフォーカスが当てられたときに呼ばれます。 |
|
onBlurCell |
セルからフォーカスが外れたときに呼ばれます。 |
|
onSelectCell |
セルが選択状態のときに呼ばれます。 |
|
onDeselectCell |
セルの選択状態が解除されたときに呼ばれます。 |
■selectRowメソッド
メソッド |
selectRow(row) |
|
引数 |
row |
対象行のインデックスを指定します。 |
戻り値 |
true:行の選択に成功しました。 |
|
例外 |
なし |
|
説明 |
指定した行インデックスに対応する行を選択状態にします。 |
■deselectRowメソッド
メソッド |
deselectRow(row) |
|
引数 |
row |
対象行のインデックスを指定します。 |
戻り値 |
true:行の選択解除に成功しました。 |
|
例外 |
なし |
|
説明 |
指定した行インデックスに対応する行の選択状態を解除します。(非選択状態)
解除に成功した場合、deselectrowイベントが発生します。 |
■selectCellメソッド
メソッド |
selectCell(row, column) |
|
引数 |
row |
対象セルがある行のインデックスを指定します。 |
column |
対象セルがある列の列名(ViewColumnのname属性に指定した値)を指定します。 |
|
戻り値 |
true:セルの選択に成功しました。 |
|
例外 |
なし |
|
説明 |
指定した行インデックスおよび列名に対応するセルを選択状態にします。
セルの選択に成功した場合、selectcellイベントが発生します。 |
■deselectCellメソッド
メソッド |
deselectCell() |
引数 |
なし |
戻り値 |
なし |
例外 |
なし |
説明 |
現在選択されているセルを非選択にします。 |
部品共通のJavaScript APIもあります。部品共通のJavaScript APIは、“画面部品共通JavaScript API”を参照してください。
テーブル部品のモデルデータ更新における画面更新の動作は、以下のようになります。
セルの編集によるdatachangeイベントでは、RCF.setFocus()などにより、ほかの部品にフォーカスを移動することはできません。
目次
索引
![]() ![]() |