<dvt:dataCell>

dvt:dataCell dataCell data cell

UIComponentクラス: oracle.adf.view.faces.bi.component.pivotTable.UIDataCell
コンポーネント・タイプ: oracle.dss.adf.pivotTable.DataCell

データ・セル・コンポーネントは、コンテンツをカスタマイズするためのスタンプ設定を提供します。たとえば、各データ・セル・コンテンツに、読取り専用コンポーネントや入力コンポーネントを含めることができます。このタグでは、セルのカスタマイズ済CSSスタイルもサポートされています。

データ・セルの機能

スタンプ設定

各データ・セルの子コンポーネントによって、ピボット・テーブル内の特定のデータ属性のデータが表示されます。データ・セルによりデータ属性ごとに子コンポーネントが作成されるのではなく、データ属性ごとに1回、各データ・セルが繰り返しレンダリング(スタンプ設定)されます。このスタンプ処理により、コンポーネントの特定のタイプのみデータ・セルの子としてサポートされています。サポートされるコンポーネントには、動作を伴わないすべてのコンポーネントと、EditableValueHolderまたはActionSourceインタフェースを実装するほとんどのコンポーネントがあります。

データ属性にスタンプが設定されると、現在のデータ属性のデータはELに到達可能なプロパティにコピーされます。このプロパティの名前は、ピボット・テーブルのvarプロパティで定義されています。ピボット・テーブルがレンダリングを完了すると、このプロパティは削除されます(または元の値に戻されます)。次の例では、各行のデータがELのcellDataプロパティの下に配置されます。各データ・セルは、cellDataプロパティからさらなる情報を取得し、各データ属性のデータを表示します。

        
                        <dvt:pivotTable var="cellData" >
                            <dvt:dataCell dataAttribute="Sales">                    
                                 <af:inputText  value="#{cellData.dataValue}"   />  
                            </dvt:dataCell>
                            <dvt:dataCell dataAttribute="Weight">
                                <af:outputText value="#{cellData.dataValue}" />
                            </dvt:dataCell>                   
                            <dvt:dataCell dataAttribute="Available">                    
                                <af:selectBooleanCheckbox id="idselectbooleancheckbox" label="Availability" text="Item Available"
                                              autoSubmit="true" value="#{cellData.dataValue}"/>                    
                            </dvt:dataCell>
                        </dvt:pivotTable>
        
        

カスタマイズ済セルのコンテンツおよびスタイル

データ・セル・コンテンツをカスタマイズするには、DataFormatを使用します。DataFormat属性は、oracle.dss.adf.view.faces.bi.component.pivotTable.CellFormatのインスタンスを返します。CellFormatインスタンスでは、次のことを指定できます。

データ・セル・コンテンツは、様々な方法で指定できます。

次の例は、スタンプ設定プロパティに基づいて<af:switcher>を使用した代替セル・コンテンツがデータ・セル内でサポートされることを示しています。つまり、スタンプ設定コンテンツは、可変値("#{richPivotTableModel.stampFacet}")に応じてセル単位でカスタマイズされます。また、この例では、outputTextinlineStyle属性およびinputTextcontentStyle属性を使用したカスタムCSSスタイル設定も示しています。

        
                <dvt:pivotTable 
                           value="#{richPivotTableModel.dataModel}"
                           var="cellData"
                           varStatus="cellStatus" >          
        
                            <dvt:dataCell>      <!-- only one data cell is used as default for all measures -->
                              <af:switcher facetname="O__richPivotTableModel_stampFacet_">
                                <f:facet name="outputText">               
                                  <af:outputText  value="#{cellData.dataValue}" inlineStyle="#{cellStatus.cellFormat.textStyle}"/>    
                                </f:facet>  
                                <f:facet name="inputText">  
                                  <af:inputText  value="#{cellData.dataValue}" contentStyle="#{cellStatus.cellFormat.textStyle}" />   
                                </f:facet>
                          </af:switcher>
                            </dvt:dataCell>
                </dvt:pivotTable>
        
        

次の例では、dataAttribute属性を使用して、各種のメジャーに基づいてデータ・セル内の入力コンポーネント・タイプを指定しています。

        
                        <dvt:pivotTable var="cellData" >
                            <dvt:dataCell dataAttribute="Sales">                    
                                 <af:inputText  value="#{cellData.dataValue}"   />  
                            </dvt:dataCell>
                            <dvt:dataCell dataAttribute="Weight">
                                <af:outputText value="#{cellData.dataValue}" />
                            </dvt:dataCell>                   
                            <dvt:dataCell dataAttribute="Available">                    
                                <af:selectBooleanCheckbox 
                                              autoSubmit="true" value="#{cellData.dataValue}"/>                    
                            </dvt:dataCell>
                    <dvt:dataCell>  <!-- this is the default data cell that will be used for data attributes other than the ones specified before-->
                                 <af:outputText  value="#{cellData.dataValue}"   />  
                            </dvt:dataCell>       
                        </dvt:pivotTable>
        
        

サポートされている子タグ

<dvt:dataCell>でサポートされるコンポーネントの一部を次に示します。

次の例は、スタンプ設定を使用し、1つのデータ・セルをピボット・テーブルのデフォルト・コンテンツとして使用する方法を示しています。

        
                <dvt:pivotTable id="goodPT"
                           value="#{pivotTableEdit.dataModel}"                                         
                           var="cellData"
                           varStatus="cellStatus">
                            <dvt:dataCell>                    
                                 <af:outputText  value="#{cellData.dataValue}"   />  
                            </dvt:dataCell>
                 </dvt:pivotTable>
        
        

イベント

フェーズ 説明
org.apache.myfaces.trinidad.event.AttributeChangeEvent アプリケーションの起動、
リクエスト値の適用
属性変更を記述するために配信されるイベント。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。

属性

名前 ELのサポート 説明
attributeChangeListener javax.el.MethodExpression ELのみ 属性変更リスナーへのメソッド・リファレンス。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。
binding oracle.adf.view.faces.bi.component.<wbr/>pivotTable.UIDataCell ELのみ コンポーネント・インスタンスをBean上に格納するELリファレンス。これは、バッキングBeanからコンポーネントへのプログラム的なアクセスを提供するため、またはコンポーネントの作成をバッキングBeanに移動するために使用できます。
customizationId String あり この属性は推奨されていません。永続的なカスタマイズを適用するには、id属性を使用する必要があります。この属性は、次のリリースでは削除されます。
dataAttribute String あり このDataCellによってレンダリングされるデータ・セル・コンテンツを持つデータ属性(SalesやCostなど)。指定しないか、または空("")にすると、DataCellがデフォルトのデータ・セル・コンテンツとして使用されます。
id String なし コンポーネントの識別子。識別子は、HTMLで許可される構文のサブセットに準拠している必要があります。
  • 長さゼロの文字列は指定しないでください。
  • 最初の文字は、ASCII文字(A-Za-z)またはアンダースコア(_)にする必要があります。
  • 後続の文字は、ASCII文字または数字(A-Za-z0-9)、アンダースコア(_)またはダッシュ(-)にする必要があります。
rendered boolean あり コンポーネントがレンダリングされるかどうか。falseに設定した場合、このコンポーネントについて出力は配信されません(コンポーネントはどのような方法でもレンダリングされず、クライアントで表示できません)。