rowHeaderStampについて

rowHeaderStamp要素は、tableコンポーネントの名前付きの子です。rowHeaderStampは、表の各データ行のラベルをレンダリングするノードを指定する際に使用します。

rowHeaderStampが適切に機能するには、DataObjectListを指定して行ヘッダー・スタンプに情報を提供する必要があります。DataObjectListの各DataObjectにより、1つの行ヘッダーに対して表示するテキストが提供されます。そのDataObjectListを表で使用できるようにするには、rowHeaderDataという表の属性をDataObjectListにデータ・バインドします。

たとえば、次のUIX XMLコードでは、demoTableDataという名前のDataObjectの下にDataObjectListが2つ指定されます。rowHeaderDataの値は、demoTableDataという名前のDataObjectの下のdemoRowHeaderDataというDataObjectListです。

行ヘッダー・スタンプは、子であるテキストです。rowHeaderStampのテキストの値は現在のDataObjectのheaderTextというキーにバインドされます。

行ヘッダー・スタンプがレンダリングされる際、行ヘッダー・データ内の個々のDataObjectが、各ヘッダーに対してスタンプがレンダリングされるときの現行のDataObjectになります。これにより、テキストが行ヘッダーごとに変更されます。


...
<dataScope xmlns="http://xmlns.oracle.com/uix/ui">
  <provider>
    <!-- all the data used by our table demo -->
    <data name="demoTableData">
      <inline>
        <!-- DataObjectList to provide information to the data rows -->
        <demoRowData firstColumnText="First row"
                     secondColumnText="First Button"/>
        <demoRowData firstColumnText="Second row"
                     secondColumnText="Second Button"/>
        <demoRowData firstColumnText="Third row"
                     secondColumnText="Third Button"/>
        <!-- DataObjectList to provide information to the row header stamps -->
        <demoRowHeaderData headerText="1"/>
        <demoRowHeaderData headerText="2"/>
        <demoRowHeaderData headerText="3"/>
      </inline>
    </data>
  </provider>
  <contents>
    <document>
      <metaContainer>
        <!-- Set the page title -->
        <head title=""/>
      </metaContainer>
      <contents>
        <body>
          <contents>
            <form name="form0">
              <contents>
                <pageLayout title="">
                  <!-- main contents -->
                  <contents>
                    <!-- Define the content of the page here -->
                    <header text="Table using inline data and rowheaderstamp">
                      <contents>
                        <spacer height="30" width="10"/>
                        <table alternateText="No Items Found."
                               tableData="${uix.data.demoTableData.demoRowData}"
                               rowHeaderData="${uix.data.demoTableData.demoRowHeaderData}">
                          <contents>
                             <column>
                              <contents>
                                <!-- first column stamp -->
                                <text text="${uix.current.firstColumnText}"/>
                              </contents>
                            </column>
                            <column>
                              <contents>
                                <!-- second column stamp -->
                                <button text="${uix.current.secondColumnText}"/>
                              </contents>
                            </column>
                          </contents>
                          <!-- row header stamp node -->
                          <rowHeaderStamp>
                            <text text="${uix.current.headerText}"/>
                          </rowHeaderStamp>
                        </table>
                      </contents>
                    </header>
                  </contents>
                </pageLayout>
              </contents>
            </form>
          </contents>
        </body>
      </contents>
    </document>
  </contents>
</dataScope>
...    

上のコードでは、次の表が生成されます。

Table with row headers.  Three rows and two columns.


tableとその名前付きの子について

rowHeaderStampの挿入
tableコンポーネントの使用

 

Copyright © 1997, 2004, Oracle. All rights reserved.