js + dwr 分页

paging.jsp

 

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<script type="text/javascript">
<!--
var jsPageCurrent = 1;//当前页数
var jsPageSize = 10;//每页显示条数
var jsPageCount = 0;//总页数
var jsCountSize = 0;//总条数
var jsPageSizeList = new Array();//每页显示数的数组
jsPageSizeList[0] = 10;
jsPageSizeList[1] = 20;
jsPageSizeList[2] = 40;
jsPageSizeList[3] = 50;

var jsToPageList = new Array();
/*初始化pageSize*/
function initJsPageSize(pagesize)
{
 jsPageSize = pagesize;
}
/*初始化所有的分页对象*/
function initAllPageObj(pageCurrent,pageSize,countSize)
{
 jsPageCurrent = pageCurrent;
 jsPageSize = pageSize;
 jsCountSize = countSize;
 editPageDiv(jsCountSize);
}
/*根据总数据数展示分页*/
function editPageDiv(backJsCountSize)
{
 jsCountSize = backJsCountSize;
 if(jsCountSize == 0)
 {
  jsPageCount = 0;
 }else
 {
  jsPageCount = parseInt((parseInt(jsCountSize)+parseInt(jsPageSize-1))/jsPageSize);
 }
 revealPageDiv();
}
/*展示分页*/
function revealPageDiv()
{
 document.getElementById("jsPageCurrent").innerHTML = jsPageCurrent;
 document.getElementById("jsPageCount").innerHTML = jsPageCount;
 document.getElementById("jsCountSize").innerHTML = jsCountSize;
 addSelect(jsPageSize,jsPageSizeList,"jsPageSize");
 toPageSelect();
}

/*到第几页的list*/
function toPageSelect()
{
 jsToPageList = new Array();
 for(var i = 0;i<jsPageCount;i++)
 {
  jsToPageList[i] = i+1;
 }
 addSelect(jsPageCurrent,jsToPageList,"jsTopageCurrent");
}
/*给下拉菜单添加值
*nowValue 当前select值
*arrayList 下拉菜单值数组
*objId  下拉菜单对象ID
*/
function addSelect(nowValue,arrayList,objId)
{
 var seleObj = document.getElementById(objId);
 seleObj.innerHTML = "";
 var listSize = arrayList.length;
 for(var i = 0;i<listSize;i++)
 {
  var newOption = document.createElement("oprion");
  seleObj.options[i] = new Option(arrayList[i], arrayList[i]);
        if(arrayList[i] == nowValue)
  {
   seleObj.options[i].selected="selected";
  }
 }
}
/*改变每页显示数的函数*/
function jsToPageSize()
{
 jsPageSize = document.getElementById("jsPageSize").value;
 if(jsCountSize == 0)
 {
  jsPageCount = 0;
 }else
 {
  jsPageCount = parseInt((parseInt(jsCountSize)+parseInt(jsPageSize-1))/jsPageSize);
 }
 if(jsPageCurrent > jsPageCount)
 {
  jsPageCurrent = jsPageCount;
 }
 toPage(jsPageCurrent,jsPageSize);
 revealPageDiv();
}
/*翻页*/
function jsToCurrentPage()
{
 jsPageCurrent = document.getElementById("jsToPageCurrent").value;
 toPage(jsPageCurrent,jsPageSize);
 revealPageDiv();
}
//-->
</script>
<div align="center">
第<span id = "jsPageCurrent">1</span>页,&nbsp;每页
<select id="jsPageSize" οnchange="jsToPageSize()">

</select>条,总共<span id="jsPageCount"></span>页
<span id="jsCountSize"></span>条记录,到
<select id="jsToPageCurrent" οnchange="jsToCurrentPage()">
</select>页
</div>

 

1、list.jsp

<SCRIPT>
var addressGroupId = 0;
window.onload = function()
{
 initJsPageSize (10);
 editPageDiv(0);
}
/*根据ID查询通讯录组人员*/
function viewPerson(id)
{
 addressGroupId = id;
 initAllPageObj(1,10,0);
 getPageCount();
}
/*查询指定页数的通讯录组人员*/
function getPerson(pageCurrent,pageSize)
{
 var groupTable=$("personTable").tBodies[0];
 var Rows=personTable.rows;//myTable的所有行对象
 var RowsLength = Rows.length;//myTable的行数
 if(RowsLength>1)
 {
  for(var i=RowsLength-1;i>0;i--)
  {
   personTable.deleteRow(i);
  }
 }
 document.getElementById("viewPerson").style.display ="";
 var callback = function(result)
 {
  var a=1;
  for(var property in result)
  {
    var bean = result[property];
    insPersonRow(result.length,bean,a++);
  }
  //back();
 } 
 addressDwr.getUserList(addressGroupId,pageCurrent,pageSize,callback);
}
/*查询总条数*/
function getPageCount()
{
 addressDwr.getCountSize(addressGroupId,function(result)
 {
  editPageDiv(result);
 });
 getPerson(jsPageCurrent,jsPageSize);
}
/*重新遍历Table*/
function insPersonRow(lenth,bean,a)
{
  var newRow=personTable.insertRow(a);//插入新行
  var Cells=newRow.cells;//类似数组的Cells
  var Rows=personTable.rows;//myTable的所有行对象
  
  for(var k=1;k<=7;k++)
  {
   var newCell=Rows(newRow.rowIndex).insertCell(Cells.length);
   switch (k)
        {
          case 1 : newCell.align="center";
    newCell.innerHTML='<td>'+bean.personInfoUri+'</td>';break;
         
    case 2 : newCell.align="center";
    newCell.innerHTML='<td>'+bean.personInfoName+'</td>';break;
    
    case 3 : newCell.align="center";
    newCell.innerHTML='<td>'+bean.personListName+'</td>';break;
    
    case 4 : newCell.align="center";
    newCell.innerHTML='<td>'+bean.personPosition+'</td>';break;
    
    case 5 : newCell.align="center";
    newCell.innerHTML='<td>'+bean.personOfficeTelNumDef+'</td>';break;
    
    case 6 : newCell.align="center";
    newCell.innerHTML='<td>'+bean.personMobileTel+'</td>';break;
    
    case 7 : newCell.align="center";
    newCell.innerHTML='<td>'+bean.personEmailAddress+'</td>';break;
      }    
  }
}
/*翻页*/
function toPage(jsPageCurrent,jsPageSize)
{
 getPerson(jsPageCurrent,jsPageSize);
}

</SCRIPT>

 

 

<div id="viewPerson"  style="display: none">
<table width="100%" border="0" cellpadding="4" cellspacing="1" class="Table_content" id="personTable">
 <tr align="center">
    <th  width="20%"> URI </th>
    <th width="15%">名称</th>
 <th width="15%" >部门名称</th>
    <th width="10%">职位</th>
    <th  width="10%">办公电话</th>
 <th width="10%">移动电话</th>
    <th width="20%"> EMAIL </th>
  </tr>
</table>
<%@ include file="/paging.jsp" %>
</div>

 

 

2、AddressDwr.java

......

 public Integer getCountSize(Long addressGroupId)
 {
  return this.addressGroupUserDS.getCountSize(addressGroupId);
 }
 
 public List<PersonInfo> getUserList(Long addressGroupId,Integer pageNum,Integer pageSize)
 {
  return addressGroupUserDS.findByAddressGroupId(addressGroupId,pageNum,pageSize);

......

 

3、AddressGroupUserDAO.java

 ......

 public List<PersonInfo> findByAddressGroupId(long addressGroupId, int pageNum,
   int pageSize)
 {
  String hql = "select p from PersonInfo p,AddressGroupUser a where a.addressGroupId = ? and p.personInfoUri = a.addressUserCode ";
  return this.getSession().createQuery(hql).setLong(0, addressGroupId).setFirstResult((pageNum-1)*pageSize).setMaxResults(pageSize).list();
 }
 
 public int getCountSize(Long addressGroupId)
 {
  String hql = "select count(*) from AddressGroupUser a where a.addressGroupId = ? ";
  List list = this.getSession().createQuery(hql).setLong(0, addressGroupId).list();
  return Integer.parseInt(list.get(0).toString());
 }
 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值