salesforce数据列表分页实战-(标准分页)

学习完这篇博客,你能够使用Force.com标准的分页功能来实现数据列表的分页,你会学习如下知识点:
1、VF standard list controller,它的功能比standard (record) controller功能更加丰富;

2、理解ajax如何在页面中执行,以及执行的范围,通过id关联;

3、了解与页面相关的数据的含义,比如:PageNumber、ResultSize、PageSize、itemValue;

4、你会明白如何处理当位于第一页时,如何禁用上一页按钮的功能等问题

以下是code部分,有非常详细的注释,帮助你了解内部实现机制:

<apex:page standardController="Contact" recordSetVar="contacts">
	<apex:form>
		<apex:pageBlock title="Contact List" id="contacts_list">
			Filter:
			<apex:selectList value="{! filterId}" size="1">
				<apex:selectOptions value="{! listViewOptions}" />
				<apex:actionSupport event="onchange" reRender="contacts_list" />
				<!-- reRender属性传入pageBlock tag的id -->
			</apex:selectList>
			<apex:pageBlockTable value="{! contacts}" var="ct">
				<apex:column value="{! ct.FirstName}" />
				<apex:column value="{! ct.LastName}" />
				<apex:column value="{! ct.Email}" />
				<apex:column value="{! ct.Account.Name}" />
			</apex:pageBlockTable>
			<!-- Pagination -->
			<table style="width: 100%">
				<tr>
					<td>
						<!-- Page X of Y -->
						<!-- PageNumber:当前页面所在位置,ResultSize:记录总条数,PageSize:每页记录条数 -->
    					Page: <apex:outputText value="{! PageNumber} of {! CEILING(ResultSize / PageSize)}" />
					</td>
					<td align="center">
						<!-- Previous Page -->
						<!-- active -->
						<apex:commandLink action="{! Previous}" value="« Previous" rendered="{! HasPrevious}" />
						<!-- 如果没有上一页就用文本显示,不使用带action的链接 -->
						<apex:outputText style="color:#ccc;" value="« Previous" rendered="{! NOT(HasPrevious)}" />
						  
						<!-- Next Page -->
						<!-- active -->
						<apex:commandLink action="{! Next}" value="Next »" rendered="{! HasNext}" />
						<!-- 如果没有下一页就用文本显示,不使用带action的链接 -->
						<apex:outputText style="color: #ccc;" value="Next »" rendered="{! NOT(HasNext)}" />
					</td>
					<td align="right">
						<!-- Records per page -->
						Records per page:
						<apex:selectList value="{! PageSize}" size="1">
							<!-- itemValue指每页显示多少条记录 -->
							<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>

效果预览:


自定义分页控制器,实现自动设置每页展示记录条数参考资料:http://www.sfdcpoint.com/salesforce/pagination-using-standard-set-controller-salesforce/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值