コンポーネント facet の使用のためのベストプラクティス
facet は、コンポーネントに示されるデータに関するコンテキスト情報を提供する、Visualforce コンポーネント内の 1 つの領域のコンテンツで構成されます。たとえば、<apex:dataTable> はテーブルのヘッダー、フッター、キャプションの facet をサポートしますが、<apex:column> は列のヘッダーまたはフッターの facet のみをサポートします。<apex:facet> コンポーネントを使用すると、Visualforce コンポーネントのデフォルトの facet を独自のコンテンツで上書きできます。facet の開始タグと終了タグ内で使用できるのは 1 つの子のみです。
<apex:facet> を定義すると、必ず他の Visualforce コンポーネントの子として使用されます。facet の name 属性では親コンポーネントが上書きされる領域を特定します。
例: <apex:dataTable> での facet の使用
次のマークアップでは、<apex:dataTable> コンポーネントを <apex:facet> を使用して変更できる方法を示します。
ページは次のように表示されます。
facet による <apex:dataTable> の拡張
<apex:actionStatus> での facet の使用
facet を使用できる他のコンポーネントは <apex:actionStatus> です。<apex:actionStatus> コンポーネントを拡張することにより、ページが更新されるたびにインジケータを表示できます。たとえば、次のマークアップを使用して進行状況ホイールを定義できます。
関連付けられているコントローラは次のようにカウンタを更新します。
ページは次のように表示されます。
facet による <apex:actionStatus> の拡張