| Ajaxフレームワーク UI部品リファレンス |
目次
索引
![]()
|
| 第2章 画面部品 | > 2.5 ツリー部品 |
TreeViewは、ツリー形式で項目リストを表示させる部品です。各項目の下位要素を展開、または折りたたんで表示させることができます。

本書内では、破線枠の範囲をノードと呼びます。また、ノード配下のそれぞれの部分を以下のように呼びます。
画像:見出し画像
スタイルの指定を行わない場合、ラベルは以下のように表示されます。
<div rcf:id="model1" rcf:type="TreeModel" rcf:object="modelData"></div>
<div rcf:type="TreeView" rcf:data="{model1.treeData}"></div> |


子要素は指定できません。




表の項目の意味は、“Text”の“プロパティ”を参照してください。
|
名前 |
データ型 |
説明 |
省略 |
省略値 |
属性指定 |
更新 |
部分更新 |
|---|---|---|---|---|---|---|---|
|
data |
Object |
ツリー形式のObjectのルートを指定します。データには、ルート以降の各ノードのデータを記述します。 |
不可 |
なし |
バインド |
可 |
可 |
|
headImage |
Object |
ノードの選択/非選択時に表示する見出し画像のURLまたはパスを指定します。 |
可 |
標準で添付する画像 |
値 |
不可 |
不可 |
|
tabIndex |
Number |
Tabキーで移動するフォーカスの順番を指定します。HTMLのtabindex属性と同様に、1以上の整数を指定した場合、数字の小さい順にフォーカスが移動します。 |
可 |
0 |
値 |
可 |
不可 |
注) headImageプロパティで指定する見出し画像の推奨サイズは、高さ12ピクセル、幅14ピクセルです。
部品共通のプロパティも指定できます。詳細は、“画面部品共通プロパティ”を参照してください。
|
プロパティ名 |
データ型 |
説明 |
|---|---|---|
| normal | String | 非選択ノードに表示する見出し画像のURLまたはパスを指定します。空の文字列を指定した場合は、画像は表示されません。省略時は、標準で添付されている画像が表示されます。 |
| selected | String | 選択ノードに表示する見出し画像のURLまたはパスを指定します。空の文字列を指定した場合は、画像は表示されません。省略時は、標準で添付されている画像が表示されます。 |
それぞれのURLには、クエリ文字列およびURLリライティングで用いるセションIDを付加することができます。詳細は、“ユーザーズガイド”を参照してください。


プロパティで指定した文字列に対するエスケープ処理は行いません。フォーム画面などからユーザが入力したデータを本プロパティに設定する場合は、アプリケーション側で < > & " ' の5つの文字をエスケープするようにしてください。

{
name: "fj", // ノード名
label: "Fujitsu", // ラベル表示文字列
isExpanded: false, // 子ノードを展開表示している場合は、true
headImage: {
normal: "/img/closeFolder.gif", //非選択時の見出し画像
selected: "/img/openFolder.gif" //選択時の見出し画像
},
children: [] // 子ノードのリスト
};
|
子ノードを持つ場合は、以下のように記述します。
{
name: "fj",
label: "Fujitsu",
isExpanded: true,
headImage: {
normal: "/img/closeFolder.gif",
selected: "/img/openFolder.gif"
},
children: [
{
name: "jinji",
label: "人事部",
headImage: {
normal: "/img/closeFolder.gif",
selected: "/img/openFolder.gif"
}
}
]
}; |
ノードごとに持つプロパティを説明します。
|
プロパティ名 |
データ型 |
説明 |
省略 |
省略値 |
|---|---|---|---|---|
|
name |
String |
ノードの名前を指定します。 |
不可 |
なし |
|
label |
String |
ノードのラベルに表示する文字列です。 |
可 |
nameの値 |
|
unselectable |
Boolean |
ノード(ラベル)を選択不可にするかどうかを指定します。
|
可 |
false |
|
isExpanded |
Boolean |
子ノードを展開して表示するか、折りたたんで表示するかを指定します。
ルート、または子ノードがないノードでは、本パラメタは無視されます。 |
可 |
false |
|
headImage |
Object |
ノードの選択/非選択時に表示する見出し画像のURLまたはパスを指定します。 |
可 |
プロパティで指定する画像 |
|
children |
Array |
子ノードのデータを保持するObjectの配列です。配列の1要素に1つのノードを割り当てます。省略時は、子ノードがない(追加しない)ことを示します。子ノードのデータをあとで追加する場合は、children: []を指定します。 |
可 |
子ノードがないことを意味する |


|
元の文字 |
変換後の文字列 |
|---|---|
|
& |
& |
|
< |
< |
|
> |
> |
|
" |
" |
|
' |
' |
|
空白(半角空白およびタブ) |
|

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:rcf="http://ria.fujitsu.com/rcf">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
<script type="text/javascript" src="rcf_config.js"></script>
<script type="text/javascript" src="acf/file/rcf/rcf.js"></script>
<script type="text/javascript">
//<![CDATA[
var modelData = {
treeData: {
name: "root", // ルートノード名
children: [
{ // 1つめの子ノード
name: "fj", // ノード名
label: "Fujitsu Group",
isExpanded: true,
headImage: { normal: "/img/en.gif" },
children: [
{ // 孫ノード
name: "fja", // ノード名
label: "Fujitsu Australia",
isExpanded: false,
headImage: {
normal: "/img/blueSquare.gif",
selected: "/img/redSquare.gif"
}
}
]
},
{ // 2つめの子ノード
name: "jgov", // ノード名
label: "Japanese Government",
isExpanded: false,
headImage: { normal: "/img/en.gif" }
}
]
}
};
//]]>
</script>
<body>
<div rcf:id="model1" rcf:type="TreeModel" rcf:object="modelData"></div>
<div rcf:type="TreeView" rcf:data="{model1.treeData}"></div>
</body>
</html> |
このdataプロパティが指定された場合のツリー表示の例は、以下になります。
ルートノードは表示されません。

ノードパスの表現
選択しているノードの位置を示すパス情報は、以下の形式となります。
( / の前後に空白は入りません。)
/ fj / fja ↑ ↑ ↑ (1) (2) (3) |
パスは、ルートからの絶対パス指定だけが有効です。相対パスは指定できません。
データプロバイダとノードパスを組み合わせることにより、ノードのデータを取得できます。
TreeViewのフォーカス
TreeViewで使用できるフォーカスには、以下の2つがあります。
TreeViewには、以下の方法でフォーカスを当てることができます。フォーカスはTreeView全体に当たり、フォーカスがある状態ではキーボードによる操作が可能になります。
フォーカスがある場合、TreeViewの外枠にフォーカスがあることを示すアウトラインが表示されます。また、フォーカスが当たったとき、TreeView内では、以下の規則に従ってラベルフォーカスが当たり、キーボードによりラベルフォーカスを移動させることができます。
マウス操作
TreeViewにおけるマウス操作について、以下の表に示します。
|
操作 |
処理 |
|---|---|
|
開閉アイコンでクリック |
子ノードが存在する場合に、展開または折りたたみをします。 |
|
ラベル、および見出し画像でクリック |
クリックしたラベルを選択します。 |
|
ラベル、および見出し画像にマウスを移動 |
マウスの位置するラベルをラベルフォーカスが当たります。 |



キーボード操作
キーボード操作は、TreeViewにフォーカスが当たっている場合に有効になります。
|
操作 |
処理 |
|---|---|
|
スペース |
ラベルフォーカスが当たっているラベルを選択します。 |
|
↑ |
ラベルのラベルフォーカスを上のラベルに移動します。 |
|
↓ |
ラベルのラベルフォーカスを下のラベルに移動します。 |
|
→ |
子ノードが存在する場合に、展開します。 |
|
← |
子ノードが存在する場合に、折りたたみをします。 |
|
Home |
先頭のノードのラベルに移動します。 |
|
End |
画面に表示中の最終のノードのラベルに移動します。 |



本部品全体のスタイルプロパティを以下に示します。
|
パーツ名 |
プレフィックス |
クラス名 |
指定可能なスタイル |
|---|---|---|---|
|
全体(外枠) |
なし |
rcf-TreeView |
|
|
開閉アイコン |
icon |
rcf-TreeView-icon |
|
|
見出し画像 |
headImage |
rcf-TreeView-headImage |
|
|
ラベル(選択やラベルフォーカスが当たっていないラベル) |
label |
rcf-TreeView-label |
|
|
選択されたラベル |
selectedLabel |
rcf-TreeView-selectedLabel |
|
|
ラベルフォーカスが当たっているラベル |
focusedLabel |
rcf-TreeView-focusedLabel |
|
注1) IE6、IE7では、部品にフォーカスを当てるとボーダーの表示が無効になる場合があります。(例:borderWidthに1pxを指定した場合)
注2) デフォルトではスクロールバーは表示されません。ラベルに長い文字列が指定された場合は、サイズのwidthで指定した横幅を超えて、ラベルが1行に表示されます。
注3) 幅(width)と高さ(height)は、スタイルプロパティで指定してください。CSSで指定した値は無視されます。
注4) IE6では、lineHeightは指定できません。
注5) デフォルトは、背景色は#004E98で、フォント色は#FFFFFF(白)です。
注6) デフォルトは、テキストに下線が表示されます。



詳細は、“スタイルプロパティ”を参照してください。
本部品全体のイベントリスナを以下に示します。
|
名前 |
説明 |
イベントオブジェクト |
|---|---|---|
|
onDataChange |
モデルのデータが変更されると発生します。 |
|
名前 |
説明 |
イベントオブジェクト |
|---|---|---|
|
onTreeNodeExpand |
ノードが展開されると発生します。 |
|
|
onTreeNodeCollapse |
ノードが折りたたまれると発生します。 |
|
|
onTreeNodeSelect |
ノードが選択されると発生します。 |
|
名前 |
説明 |
イベントオブジェクト |
|---|---|---|
|
onFocus |
TreeView全体がフォーカスされると発生します。(注) |
|
|
onBlur |
TreeView全体がフォーカスを失うと発生します。 |
注) ノードのラベルにラベルフォーカスが当たっても、onFocusは発生しません。
部品共通のイベントリスナもあります。詳細は、“画面部品共通イベントリスナ”を参照してください。
■selectメソッド
|
メソッド |
select(nodePath) |
|
|
引数 |
nodePath |
ノードのパス名 |
|
戻り値 |
なし |
|
|
例外 |
以下の場合にエラーとなります。
|
|
|
説明 |
指定したパス名のノードを選択します。親ノードのツリー表示が折りたたまれている場合は、展開しません。 |
|
■getSelectedNodePathメソッド
|
メソッド |
getSelectedNodePath() |
|
引数 |
なし |
|
戻り値 |
選択されたノードのパス(String) |
|
例外 |
なし |
|
説明 |
選択されたノードのパスを取得します。 |
■getFocusedNodePathメソッド
|
メソッド |
getFocusedNodePath() |
|
引数 |
なし |
|
戻り値 |
ラベルフォーカスが当たっているノードのパス(String) |
|
例外 |
なし |
|
説明 |
ラベルフォーカスが当たっているノードのパス名を取得します。 |
■getNodeDataProviderメソッド
|
メソッド |
getNodeDataProvider(nodePath) |
|
|
引数 |
nodePath |
ノードのパス名 |
|
戻り値 |
指定したノードのデータにアクセスするためのDataProvider |
|
|
例外 |
以下の場合にエラーとなります。
|
|
|
説明 |
指定したノードのデータにアクセスするためのデータプロバイダを取得します。ノードのデータは、dataプロパティ中の指定ノードとその配下を表示するための部分データとなります。 |
|
部品共通のJavaScript APIもあります。部品共通のJavaScript APIは、“画面部品共通JavaScript API”を参照してください。
なお、TreeView部品では、部品共通のJavaScript APIのうち、getStyleおよびsetStyleは利用できません。
目次
索引
![]()
|