大数据量分页下拉菜单设计

下拉菜单的数据是1、2、3...100、200、300..1000、2000

public String setPageNav(int absolutePage,int pageSize)

    {

        String strTemp1 = "";

        String strTemp2 = "";

        String strBlock1 = "";

        String strBlock2 = "";

        int i;

        String strPageNav="";

        StringBuffer bffPageNav=new StringBuffer();

        int pageCount;

        boolean haveLastPage;

        boolean haveFirstPage;

        int nextPage;                //下页数

        int prePage;                //前页数

        int lastPage;                //最后一页

        int firstPage;            //第一页

        if(absolutePage<1) absolutePage=1;

       

        if(recordCount == 0)

        {

            firstPage = -1;

            haveFirstPage = false;

            lastPage = -1;

            haveLastPage = false;

            pageCount = 0;

            prePage = -1;

            nextPage = -1;

        }

        else

        {

            if(recordCount%pageSize == 0)

            {

                pageCount = recordCount/pageSize;

            }

            else

            {

                pageCount = recordCount/pageSize + 1;

            }

            firstPage = 1;

            haveFirstPage = true;

            lastPage = pageCount;

           

            if(absolutePage == 1)

            {

                prePage = -1;

                haveFirstPage = false;

                haveLastPage = false;

            }

            else

            {

                prePage = absolutePage -1;

                haveLastPage = true;

            }

            if(absolutePage == pageCount)

            {

                nextPage = -1;

                haveLastPage = false;

            }

            else

            {

                nextPage = absolutePage + 1;

                haveLastPage = true;

            }

        }

        if(recordCount != 0)

        {

            //strPageNav="<select name='page' size='1' onChange='movePage(document.all.page.value)'>";

            bffPageNav.append("<select name='page' size='1' onChange='movePage(this.value)'>");

            for(i=1;i<=pageCount;)

            {

                if(absolutePage==i)

                {

                    //strPageNav=strPageNav+"<option value='"+Integer.toString(absolutePage)+"' selected>"+Integer.toString(absolutePage)+"</option>";

                    bffPageNav.append("<option value='"+Integer.toString(absolutePage)+"' selected>"+Integer.toString(absolutePage)+"</option>");

                }

                else

                {

                    //strPageNav=strPageNav+"<option value='"+Integer.toString(i)+"'>"+Integer.toString(i)+"</option>";

                    bffPageNav.append("<option value='"+Integer.toString(i)+"'>"+Integer.toString(i)+"</option>");

                }

                if(absolutePage<=i+100&&absolutePage>i-100)

                    i++;

                else if(absolutePage>=i-1000 && absolutePage<= i+1000)

                    i=(i/100)*100+100;

                else

                    i=(i/1000)*1000+1000;

            }

            //strPageNav=strPageNav+"</select>";

            bffPageNav.append("</select>");

            if(!haveFirstPage)

            {

                prePage=absolutePage;

            }

                strBlock1 = "&nbsp;<a href='#' onClick='movePage("+Integer.toString(firstPage)+")'>第一页</a>&nbsp;<a href='#' onClick='movePage("+ Integer.toString(prePage) +")'>上一页</a>&nbsp;";

            if(!haveLastPage)

            {

                nextPage=absolutePage;

            }

                strBlock2 = "<a href='#' onClick='movePage("+ Integer.toString(nextPage) +")'>下一页</a>&nbsp;<a href='#' onClick='movePage("+Integer.toString(lastPage)+")'>最后页</a>&nbsp;";

            if(absolutePage*pageSize < recordCount)

            {

                strTemp2 = Integer.toString(absolutePage*pageSize);

            }

            else

            {

                strTemp2 = Integer.toString(recordCount);

            }

            strTemp1 = Integer.toString((absolutePage-1) * pageSize+1);   

            strTemp1 = "<td align=left valign=bottom width=54% style='white-space: nowrap;'>当前显示:第 "+ strTemp1 + " 至 第 " + strTemp2 +" 条(共 " + Integer.toString(recordCount) + " 条) 第 "+ Integer.toString(absolutePage) + " 页/共 " + Integer.toString(pageCount) + " 页</td>";

            strPageNav ="<td align=right valign=bottom width=46% style='white-space: nowrap;'>"+strBlock1 + strBlock2+"第 "+bffPageNav.toString() +" 页</td>";

            strPageNav = strTemp1 + strPageNav;

        }else

            strPageNav="<td align=left valign=bottom width=54% style='white-space: nowrap;'>当前显示:第 0 至 第 0 条(共 0 条) 第 0 页/共 0 页</td><td align=right valign=bottom width=46%>&nbsp;<a href='#' >第一页</a>&nbsp;<a href='#' >上一页</a>&nbsp;<a href='#'>下一页</a>&nbsp;<a href='#' >最后页</a>&nbsp;第  <select name='page' size='1'></select> 页</td>";

        strPageNav="<table width=\"100%\" border=\"0\"><tr>"+strPageNav+"</tr></table>";

        return strPageNav;

    }   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值