ViewColumnTreeは、DataGridのテーブルで指定した列にツリー展開用のボタンを配置する部品です。
注意
ViewColumnTreeを利用できるブラウザ
ViewColumnTreeは、Internet Explorerでだけ利用可能な部品です。
記述形式
<div rcf:id="model1" rcf:type="Model" rcf:object="modelData"></div> <div rcf:id="grid1" rcf:type="DataGrid" rcf:data="{model1.data}"> <div rcf:type="ViewColumnTree" rcf:name="detail1" rcf:label="詳細"></div> ... </div>
注意
子要素は指定できません。詳細は、「5.1.4 子要素を持たない部品に子要素を記述した場合の動作」を参照してください。
プロパティ
表の項目の意味は、「Text」の「プロパティ」を参照してください。
名前 | データ型 | 説明 | 省略 | 省略値 | 属性指定 | 更新 | 部分更新 |
---|---|---|---|---|---|---|---|
name | String | カラムの名前を指定します。 | 不可 | - | 値 | 不可 | 不可 |
label | String | 列ヘッダ部に表示する文字列を指定します。 | 可 | nameプロパティの値 | 値 | 不可 | 不可 |
focusable(注) | Boolean | セル(ツリーの展開ボタンがあるセル)のフォーカスを可能にするかどうかを指定します。
| 可 | true | 値 | 不可 | 不可 |
selectable(注) | Boolean | セル(ツリーの展開ボタンがあるセル)の選択を可能にするかどうかを指定します。
| 可 | true | 値 | 不可 | 不可 |
注) DataGridのfocusModeプロパティが0または1の場合にだけ、設定が有効となります。
注意
配置列に対して、編集はできません。
配置列に対して、ソートはできません。
複数のツリーを設定することはできません。複数の設定を行った場合は、エラーになります。
ツリーの展開は、ViewColumnGroupに詳細データ(detail)を追加することにより可能になります。
ViewColumnGridのプロパティも指定できます。ただし、propertyNameプロパティは利用できません。詳細は、「2.3.5 ViewColumnGrid 」の「プロパティ」を参照してください。
部品共通のプロパティも指定できます。詳細は、「2.8.1 画面部品共通プロパティ」を参照してください。
以下にツリー展開ボタンおよび詳細データの指定方法を示します。
詳細データの指定と表示は、DataGridのonOpenDetailイベントリスナで設定します。
フレームワークの呼出し元で、onOpenDetailイベントで展開通知を受け取った際に表示する詳細データを指定して、JavaScript APIのshowDetailメソッドを呼び出すことにより、詳細データがツリー展開されます。
<script type="text/javascript"> //<![CDATA[ var modelData = { data: [ { name1: 'data1-1', name2: 'data2-1', name3: 'data3-1'}, { name1: 'data1-2', name2: 'data2-2', name3: 'data3-2'}, { name1: 'data1-3', name2: 'data2-3', name3: 'data3-3'}, { name1: 'data1-4', name2: 'data2-4', name3: 'data3-4'}, { name1: 'data1-5', name2: 'data2-5', name3: 'data3-5'} ] }; // イベント登録 eventMap = { grid1:{ opendetail: createDetail, ... } }; // イベント登録 RCF.addInitializedListener( function(eventObject) { rcf.event.EventRegistrar.registerEvents(eventMap, "eventMap"); } ); // 詳細展開用ボタンがクリックされた場合に呼び出される関数 function createDetail(eventObj) { // ここで詳細データのオブジェクトを作成してください。 var detailData1 = { data : [ {dcolumn1: 'det0-1', dcolumn2: 'det0-2', dcolumn3: 'det0-3'}, {dcolumn1: 'det1-1', dcolumn2: 'det1-2', dcolumn3: 'det1-3'}, {dcolumn1: 'det2-1', dcolumn2: 'det2-2', dcolumn3: 'det2-3'} ] }; // ここでJavaScriptAPIを呼び出して詳細データを表示してください。 grid1.showDetail( eventObj, detailData1, "tree1"); } // ユーザー定義関数 function createDetailAll(eventObj) { // ここで詳細データのオブジェクトを作成してください。 var allData = new Array(); ... // ここでJavaScriptAPIを呼び出して詳細データを表示してください。 grid1.openDetailAll( allData, "tree2"); } //]]> </script> <div rcf:id="model1" rcf:type="Model" rcf:object="modelData"></div> <div rcf:id="grid1" rcf:type="DataGrid" rcf:data="{model1.data}"> <div rcf:type="ViewColumnGroup"> <div rcf:type="ViewColumnTree" rcf:name="detail1" rcf:label="詳細"></div> <div rcf:type="ViewColumnGrid" rcf:name="column1" rcf:propertyName="name1" rcf:label="ラベル1"></div> <div rcf:type="ViewColumnGrid" rcf:name="column2" rcf:propertyName="name2" rcf:label="ラベル2"></div> <div rcf:type="ViewColumnGrid" rcf:name="column3" rcf:propertyName="name3" rcf:label="ラベル3"></div> </div> <div rcf:id="tree1" rcf:type="ViewColumnGroup" rcf:dispType="detail">
<div rcf:type="ViewColumnGrid" rcf:name="dummy"></div> <div rcf:type="ViewColumnGrid" rcf:name="dcolumn1"></div>
<div rcf:type="ViewColumnGrid" rcf:name="dcolumn2"></div>
<div rcf:type="ViewColumnGrid" rcf:name="dcolumn3"></div>
</div> <div rcf:id="tree2" rcf:type="ViewColumnGroup" rcf:dispType="detail"> <div rcf:type="ViewColumnGrid" rcf:name="dcolumn4"></div> <div rcf:type="ViewColumnGrid" rcf:name="dcolumn5" rcf:columnSpan="2"></div> </div> </div> <div rcf:type="Button" rcf:onClick="createDetailAll()">全展開</div>
詳細データを表示した例を以下に示します。
スタイルプロパティ
ViewColumnGridのスタイルプロパティと同様です。「2.3.5 ViewColumnGrid 」の「スタイルプロパティ」を参照してください。
イベントリスナ
固有のイベントリスナはありません。
JavaScript API
固有のJavaScript APIはありません。