Visualforce ページネーションのリストへの追加方法

環境
Salesforce

構文
1.apex:commandLink action="{! Previous}"
ページネーションコントロールの <apex:commmandLink> コンポーネントは、
標準リストコントローラー Previous と Next で提供される 2 つのアクションメソッドを参照します。

2.apex:commandLink action="{! Next }"
ページマークアップは標準リストコントローラー HasPrevious と HasNext で提供される Boolean
プロパティを参照しています。

3.apex:selectOption itemvalue="値1″ itemLabel="値2″
<apex:selectOption> 要素を使用してメニューの値を取得します。

4.apex:actionSupport event="onchange" reRender ="contacts_list"

<apex:actionSupport> タグは選択値が変更された場合にメニューのアクションを実行し、
reRender="contacts_list" を使用して <apex:pageBlock> のみを更新します。

操作例

<apex:page standardController="Contact" recordSetVar="contacts">
    <apex:form>
    <apex:pageBlock title="Contacts List" id="contacts_list">
     検索条件:
     <apex:selectList value="{! filterId }" size="1">
        <apex:selectOptions value="{! listViewOptions }"/>
        <apex:actionSupport event="onchange" reRender="contacts_list"/>
      </apex:selectList>
        <!-- 取引先リストの取得 -->
        <apex:pageBlockTable value="{! contacts}" var="cft">
            <!--各項目の表示-->
            <apex:column value="{! cft.firstname}"/>
            <apex:column value="{! cft.lastname}"/>
            <apex:column value="{! cft.Email}"/>
            <apex:column value="{! cft.Account.Name}"/>
        </apex:pageBlockTable>
        <!-- ページナビ-->
            <table style="width: 100%">
           <tr>
    		<td>
       			ページ: <apex:outputText value=" {!PageNumber} of {! CEILING(ResultSize / PageSize) }"/>
    		</td>
   		 <td align="center">
        		<!-- 前のページ -->
        		<!-- active -->
                        <apex:commandLink action="{! Previous }" value="« 前へ" rendered="{! HasPrevious }"/>
                  <!-- inactive (no earlier pages) -->
                        <apex:outputText style="color: #ccc;" value="« 次へ" rendered="{! NOT(HasPrevious) }"/> &nbsp;&nbsp;
        	<!-- 次のページ -->
        		<!-- active -->
                  <apex:commandLink action="{! Next }" value="次へ »" rendered="{! HasNext }"/>
                        <!-- inactive (no more pages) -->
                  <apex:outputText style="color: #ccc;" value="次へ »" rendered="{! NOT(HasNext) }"/>
   		 </td>
   	 <td align="right">
       	 <!-- Records per page -->
        ページあたりのレコード数:
            <apex:selectList value="{! PageSize }" size="1">
    		<apex:selectOption itemValue="5" itemLabel="5"/>
    		<apex:selectOption itemValue="20" itemLabel="20"/>
    		<apex:actionSupport event="onchange" reRender="contacts_list"/>
        </apex:selectList>
    </td>
      </tr>
  </table>
    </apex:pageBlock>
    </apex:form>
</apex:page>

 

Salesforce

Posted by arkgame