salesforce 分页

自己 要做一个自定义开发的功能 然后 网上查了很多资料 自己整理了后 做了一个简单的salesforce 分页的功能  

废话不都说 上代码


首先是 控制器  *__c 这些字段 可以自己创建 或者 代码里去掉

public class AccountListController {

    List<Account> account{get;set;}

    public AccountListController (ApexPages.StandardController controller) {

    }


    // instantiate the StandardSetController from a query locator
    public ApexPages.StandardSetController con {
        get {
            if(con == null) {
                con = new ApexPages.StandardSetController(Database.getQueryLocator(
                   [SELECT Id, Name , Type , Phone, Owner.Name , Profession__c , Email__c FROM Account Order By Name limit 100]));
                // sets the number of records in each page set
                con.setPageSize(15);
            }
            return con;
        }
        set;
    }

    // returns a list of wrapper objects for the sObjects in the current page set
    public List<Account> getAccounts() {

        return (List<Account>) con.getRecords();

    }

    // displays the selected items
     public PageReference process() {
    //     for (CategoryWrapper cw : categories) {
      //       if (cw.checked)
        //         ApexPages.addMessage(new ApexPages.message(ApexPages.severity.INFO,cw.cat.name));
       //  }
         return null;
     }

    // indicates whether there are more records after the current page set.
    public Boolean hasNext {
        get {
            return con.getHasNext();
        }
        set;
    }

    // indicates whether there are more records before the current page set.
    public Boolean hasPrevious {
        get {
            return con.getHasPrevious();
        }
        set;
    }

    // returns the page number of the current page set
    public Integer pageNumber {
        get {
            return con.getPageNumber();
        }
        set;
    }

    // returns the first page of records
     public void first() {
         con.first();
     }

     // returns the last page of records
     public void last() {
         con.last();
     }

     // returns the previous page of records
     public void previous() {
         con.previous();
     }

     // returns the next page of records
     public void next() {
         con.next();
     }

     // returns the PageReference of the original page, if known, or the home page.
     public void cancel() {
         con.cancel();
     }

}

然后是apex页

<apex:page standardController="Account"  extensions="AccountListController">
    <apex:form >
        <apex:pageBlock >
            <apex:pageMessages />
            <apex:pageBlockSection columns="1">
                <apex:pageBlockTable value="{!Accounts}" var="a">
                    <apex:column headerValue="操作" style="width:5%">
                        <a href="{!URLFOR($Action.Account.Edit,a.id,[retURL=''])}">编辑</a>丨
                       <a href="{!URLFOR($Action.Account.Delete,a.id,[retURL=''])}">删除</a>
                    </apex:column>

                    <apex:column headerValue="姓名" style="width:15%">
                        <apex:outputLink value="{!URLFOR($Action.Account.View,a.id,[retURL=''])}">{!a.Name}</apex:outputLink>
                    </apex:column>
                    <apex:column headerValue="职务"  style="width:15%">
                        <apex:outputField value="{!a.Profession__c}"/>
                    </apex:column>
                    <apex:column headerValue="电话" style="width:15%">
                        <a href="#" οnclick="singheadDial('6112',{!a.Phone});" id="dial2">
                            <apex:outputPanel rendered="{!IF(a.Phone != '',true,false)}">
                                {!a.Phone}
                                <apex:image url="{!URLFOR($Resource.phone1, 'phone1.jpg')}" height="15px" width="15px"/>
                            </apex:outputPanel>
                        </a>
                    </apex:column>
                     <apex:column headerValue="电子邮件" style="width:15%">
                            <apex:outputField value="{!a.Email__c}" />
                        </apex:column>
                    
                </apex:pageBlockTable>
            </apex:pageBlockSection>
        </apex:pageBlock>

        <apex:panelGrid columns="4">
            <apex:commandLink action="{!first}">First</apex:commandlink>
            <apex:commandLink action="{!previous}" rendered="{!hasPrevious}">Previous</apex:commandlink>
            <apex:commandLink action="{!next}" rendered="{!hasNext}">Next</apex:commandlink>
            <apex:commandLink action="{!last}">Last</apex:commandlink>
        </apex:panelGrid>

    </apex:form>
</apex:page>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值