hGridコンポーネントの大規模レコード・セット・ナビゲーション機能を使用すると、規模の大きいレコード・セットの表示をスクロール可能なビューに分割できます。スクロール可能なビューのサイズは、childBlockSize属性で決定されます。この属性をゼロより大きい整数値に設定すると、childBlockSizeより大きい数値の子ノードを持つノードの任意のセットは、そのサイズのスクロール可能ビューにレンダリングされます。
スクロール・リンク(など)はビューの上または下の新しいナビゲーション行にレンダリングされます。表示すべきデータがなくなると、ナビゲーション・リンクは無効になります。有効になっているナビゲーション・リンクには、オプションのテキスト・タイプ、次の行の番号範囲(つまり前の)ビュー、行セットの行の総数が表示されます。テキスト・タイプは、ノード・データの特殊なchildTypeText属性を使用してクライアントから提供されます。
childBlockSize属性は、データ・ノードの子とサブノートのすべての子の表示を制御するため、そのデータ・ノードに直接設定することもできます。これにより、完全にスコープ内にあるビューのサイズの設定値が提供されます。つまり、ノードの子はセットで表示されることになります。これらのセットのサイズは、ノードを現在のノードからルートまで横断して検出した最初のchildBlockSize属性により決定されます。
hGridコンポーネントでは、イベント・ハンドラを提供する必要のあるnextおよびpreviousという2つのイベントが生成されます。いずれのイベントも同じイベント・ハンドラで処理できます。clientStateHGridDataProxyのdoHGridWindowEventというコンストラクタを使用すると、hGridでの大規模なレコード・セットのナビゲーションを処理できます。
Example: Copyright (c) Oracle Corporation 2003. All Rights Reserved.
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Copyright (c) Oracle Corporation 2003. All Rights Reserved. -->
<!-- 67890123456789012345678901234567890123456789012345678901234567890123456-->
<!-- hGridLRS.uix -->
<!-- @version $Name: $ ($Revision: 1.9 $) $Date: 2003/11/04 04:13:04 $ -->
<!-- This file is a demo of the Large Record Set navigation capabilities of -->
<!-- the UIX hGrid element. -->
<page xmlns="http://xmlns.oracle.com/uix/controller"
xmlns:ui="http://xmlns.oracle.com/uix/ui"
xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
xmlns:lrs="http://www.example.org/HGrid_LRS"
expressionLanguage="el">
<content>
<dataScope xmlns="http://xmlns.oracle.com/uix/ui">
<contents>
<document>
<metaContainer>
<head title="HGrid Large Data Set demo"/>
</metaContainer>
<contents>
<body>
<contents>
<header text="Demo">
<contents>
<flowLayout>
<contents>
<form name="radForm" destination="${ctrl:eventUrl(uix, 'size')}">
<contents>
<styledText styleClass="${uix.data.styles.types.largePrompt}"
text="${uix.data.attrNames.childView.nameText} set to:"/>
<flowLayout>
<!-- Build radio buttons for selecting the view size -->
<contents childData="${uix.data.sizeChoices.opt}">
<radioSet name="sizeSelect"
selectedValue="${ui:defaulting(uix.pageProp.vsiz,
uix.data.sizeChoices.default.val)}">
<contents>
<option text="${uix.current.txt}"
value="${uix.current.val}"/>
</contents>
<primaryClientAction>
<firePartialAction formSubmitted="true"
event="size"
targets="demoHGrid"/>
</primaryClientAction>
</radioSet>
</contents>
</flowLayout>
</contents>
</form>
<spacer height="5"/>
<form name="f1">
<contents>
<!-- The interesting thing here is the childBlockSize attr -->
<hGrid id="demoHGrid"
childBlockSize="${ui:defaulting(uix.pageProp.vsiz,
uix.data.sizeChoices.default.val)}"
alternateText="No Data"
proxy="${uix.data.proxy.hgrid}"
treeData="${uix.data.tree.nodes}"
partialRenderMode="self">
<nodeStamp>
<column>
<columnFormat width="100%"/>
<columnHeader>Node Name</columnHeader>
<contents>
<text text="${uix.current.text}"/>
</contents>
</column>
</nodeStamp>
<columnFormats>
<columnFormat columnDataFormat="numberFormat"/>
</columnFormats>
<columnHeaderStamp>
<text text="${uix.current.text}"/>
</columnHeaderStamp>
<columnHeaderData>
<col text="Number"/>
</columnHeaderData>
<contents>
<text text="${uix.current.num}"/>
</contents>
</hGrid>
</contents>
</form>
</contents>
</flowLayout>
</contents>
</header>
</contents>
</body>
</contents>
</document>
</contents>
<provider>
<data name="attrNames">
<inline>
<childView nameText="childBlockSize"/>
<childText nameText="childTypeText"/>
<previousEvent nameText="previous"/>
<nextEvent nameText="next"/>
<proxyName nameText="ClientStateHGridDataProxy"/>
<eventMethod nameText="doHGridWindowEvent"/>
<demoClass nameText="oracle.cabo.servlet.demo.table.HGrid"/>
</inline>
</data>
<data name="styles">
<inline>
<types default="OraInstructionText" code="OraTipText"
largePrompt="OraHeaderSubSub"/>
</inline>
</data>
<data name="sizeChoices">
<inline>
<default val="5"/>
<opt txt="Zero" val="0"/>
<opt txt="Five" val="5"/>
<opt txt="Ten" val="10"/>
</inline>
</data>
<data name="tree">
<method class="oracle.cabo.servlet.demo.table.HGridLargeRecordSetData"
method="getDataSet"/>
/data>
<data name="proxy">
<method class="oracle.cabo.servlet.demo.table.HGrid"
method="getTreeProxy"/>
</data>
</provider>
</dataScope>
</content>
<handlers>
<event name="expand">
<method class="oracle.cabo.servlet.demo.table.HGrid"
method="doHGridExpandEvent"/>
</event>
<event name="focus collapseAll expandAll">
<method class="oracle.cabo.servlet.demo.table.HGrid"
method="doHGridFocusEvent"/>
</event>
<event name="next previous">
<method class="oracle.cabo.servlet.demo.table.HGrid"
method="doHGridWindowEvent"/>
</event>
<event name="size">
<go>
<property name="vsiz">
<parameter name="sizeSelect"/>
</property>
</go>
</event>
</handlers>
</page>
hGridとその名前付きの子について
hGridDataProxyについて
Copyright © 1997, 2004, Oracle. All rights reserved.