ページでのデータのテーブルの作成
<apex:pageBlockTable> または <apex:dataTable> などの一部の Visualforce コンポーネントでは、レコードのコレクションを反復することによって、一度に複数のレコードの情報を表示できます。この概念を説明するために、次のページでは、<apex:pageBlockTable> コンポーネントを使用して、現在コンテキストにある取引先に関連付けられた取引先責任者をリストします。
1swfobject.registerObject("clippy.codeblock-0", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<apex:page standardController="Account">
18 <apex:pageBlock title="Hello {!$User.FirstName}!">
19 You are viewing the {!account.name} account.
20 </apex:pageBlock>
21 <apex:pageBlock title="Contacts">
22 <apex:pageBlockTable value="{!account.Contacts}" var="contact">
23 <apex:column value="{!contact.Name}"/>
24 <apex:column value="{!contact.MailingCity}"/>
25 <apex:column value="{!contact.Phone}"/>
26 </apex:pageBlockTable>
27 </apex:pageBlock>
28</apex:page>他の反復コンポーネントと同様に、<apex:pageBlockTable> には、value と var という 2 つの必須属性が含まれます。
- value は、sObject レコードまたは他のすべての Apex 型の値のリストを取ります。上記の例では、{!account.Contacts} は現在コンテキストにある取引先の ID を取得してから、リレーションをトラバースして、関連付けられた取引先責任者のリストを取得します。
- var は、反復変数の名前を指定します。この変数は、各取引先責任者の項目にアクセスするために、<apex:pageBlockTable> タグの本文内で使用されます。この例では、取引先責任者の名前を表示するために、value="{!contact.Name}" が <apex:column> タグで使用されています。
<apex:pageBlockTable> コンポーネントは、1 つ以上の子 <apex:column> コンポーネントを使用します。テーブルの行数は、value 属性を使用して返されるレコード数によって制御されます。
