public class DaoUtil{ /** * 分页条 * @param total * @param size //每页记录数 * @param page //当前页 * @param all //总页数 * @param cmd * @param where //查询条件 * @param params * @return */ public static String getPagination(int total, int size, int page, int all, String cmd, String where, String params){ StringBuffer bf = new StringBuffer(); String first = "disabled"; String previous = "disabled"; String next = "disabled"; String last = "disabled"; String message = ""; String readonly = ""; if(total>0){ if(total>size){ if(page==1){ next = "onclick=btnclick('next');"; last = "onclick=btnclick('last');"; }else if(page>1 && page<all){ first = "onclick=btnclick('first')"; previous = "onclick=btnclick('previous')"; next = "onclick=btnclick('next');"; last = "onclick=btnclick('last');"; }else { first = "onclick=btnclick('first')"; previous = "onclick=btnclick('previous')"; } int begin = size*(page-1)+1; int end = size*page; if(page==all){ end = total; } message = "<span class='spanbar spanlabel'>当前显示 "+begin+" - "+end+" 条记录</span>"+"<span class='spanbar spanlabel'> / 共 "+total+" 条记录</span>"; }else { readonly = "disabled"; message = "<span class='spanbar spanlabel'>当前显示 1 - "+total+" 条记录</span>"+"<span class='spanbar spanlabel'> / 共 "+total+" 条记录</span>"; } }else { readonly = "disabled"; message = "当前没有可以显示的数据"; } bf.append("<style type="text/css">.spanbar{margin-right: 8px;}.spanlabel{font-size: 13px;}</style>"); bf.append("<table width="100%" height='30' border="0" cellpadding="0" cellspacing="0"><tr><td align='right'>") .append("<div style='margin-right: 10%'><span class='spanbar spanlabel'>") .append("<a href='javascript:;' ").append(first).append(">首 页</a></span>") .append("<span class='spanbar spanlabel'><a href='javascript:;' ").append(previous).append(">上一页</a></span>") .append("<span class='spanbar'><img src='../tbs_img/grid-split.gif' border='0' /></span>") .append("<span class='spanbar spanlabel'>页</span>") .append("<input type="text" id="pageText" ").append(readonly).append(" onfocus=this.style.imeMode='disabled';") .append(" style='24px; font-size:11px; border:1px solid #999;' value="").append(page).append("" /><span class='spanbar' style='margin-left: 8px;'>/</span>") .append("<span class='spanbar spanlabel'>").append(all).append("</span><span class='spanbar'><img src='../tbs_img/grid-split.gif' border='0' /></span>") .append("<span class='spanbar spanlabel'><a href='javascript:;' ").append(next).append(">下一页</a></span>") .append("<span style='margin-right: 50px;' class='spanlabel'><a href='javascript:;' ").append(last).append(">末 页</a></span>") .append(message).append("</div></td></tr></table>"); bf.append("<input type="hidden" id="pageNum" name='pageNum' value='").append(page).append("' />"); bf.append("<input type="hidden" id="pageType" name="pageType" />"); bf.append("<input type="hidden" id="pageWhere" name="pageWhere" value="").append(where).append("" />"); bf.append("<script>function btnclick(obj){var frmMain=$$$('frmMain');frmMain.cmd.value='").append(cmd).append("';frmMain.pageType.value=obj;") .append("frmMain.init.value='page';").append(params).append("getParams('frmMain');frmMain.target='_self';frmMain.submit();};") .append("function btnKeyDown(){if(event.keyCode==13){var n=$$$('pageText').value;if(n!=''&&n!=").append(page).append("){if(n>") .append(all).append("){n=").append(all).append(";};if(n<1){n=1;};$$$('pageNum').value=n;btnclick('');}else{return false;}}}</script>"); return bf.toString(); } /** * 分页条 * @param total 总记录 * @param size 每页记录 * @return */ public static String getPagination2(int total, int size, int page) { StringBuffer s = new StringBuffer(); int maxPage=1; if (total > 0) { maxPage = total<size?1:total/size+(total%size>0?1:0); } s.append("<style type='text/css'>"); s.append(".p_bar{margin-right: 8px;};"); s.append(".p_label{font-size: 14px;};"); s.append("</style>"); s.append("<table width='100%' height='30' border='0' cellpadding='0' cellspacing='0' align='center' style='cursor:default;'><tr><td width='55%' align='right'>"); s.append("<span class='p_bar p_label'><a id='page_first' href='javascript:;' onclick='p_btn_click(this)'"+(page>1?"":" disabled")+">首 页</a></span>"); s.append("<span class='p_bar p_label'><a id='page_previous' href='javascript:;' onclick='p_btn_click(this)'"+(page>1?"":" disabled")+">上一页</a></span>"); s.append("<span class='p_bar'><img src='../tbs_img/grid-split.gif' border='0' /></span>"); s.append("<span class='p_bar p_label'>页</span>"); s.append("<input type='text' id='pageText' style='30px;border:1px solid #999;font-size:13px;' maxlength='"+String.valueOf(maxPage).length()+"' onfocus="this.style.imeMode='disabled';" " + ((maxPage > 1) ? "" : "disabled") + " onKeyPress='if(event.keyCode<48||event.keyCode>57)event.returnValue=false;' value='"+page+"' />"); s.append("<span id='page_go' class='p_bar p_label' style='margin-left: 10px; cursor: pointer; color:red;' " + ((maxPage > 1) ? "onclick='p_btn_click(this)'" : "disabled") + ">跳转</span>"); s.append("<span class='p_bar'>/</span>"); s.append("<span id='p_total' class='p_bar p_label'>"+maxPage+"</span><span class='p_bar'><img src='../tbs_img/grid-split.gif' border='0' /></span>"); s.append("<span class='p_bar p_label'><a id='page_next' href='javascript:;'" + ((maxPage > 1 && page < maxPage) ? "" : " disabled") + " onclick='p_btn_click(this)'>下一页</a></span>"); s.append("<span class='p_label'><a id='page_last' href='javascript:;'" + ((maxPage > 1 && page < maxPage) ? "" : " disabled") + " onclick='p_btn_click(this)'>末 页</a></span>"); s.append("</td><td width='45%' align='center'>"); s.append("<table border='0' cellpadding='0' cellspacing='0' width='320' id='p_data_full' class='p_bar p_label'" + (total > 0 ? "" : " style='display:none;'") + "><tr><td width='65' align='center'>当前显示</td><td width='35' align='right'><span id='p_start'>"+((page-1)*size+1)+"</span></td><td width='10' align='center'>-</td><td width='35' align='left'><span id='p_end'>" + ((total > size) ? (page*size) : total) + "</span></td><td width='85' align='left'>条记录 / 共</td><td width='40' align='left'><span id='p_count'>" + total + "</span></td><td width='50' align='center'>条记录</td></tr></table>"); s.append("<span id='p_data_empty' class='p_bar p_label' "+(total>0?"style='display:none;'":"")+">当前没有可以显示的数据</span>"); s.append("</td></tr></table>"); s.append("<input type='hidden' id='P_N' name='P_N' value='"+page+"' />"); s.append("<input type='hidden' id='P_W' name='P_W' />"); s.append("<input type='hidden' id='P_ALL' name='P_ALL' value='"+maxPage+"' />"); s.append("<input type='hidden' id='D_ALL' name='D_ALL' value='"+total+"' />"); s.append("<input type='hidden' id='P_SIZE' name='P_SIZE' value='"+size+"' />"); s.append("<script type='text/javascript' src='../cseipm/js/pagenation.js'></script>"); return s.toString(); } /** * 获取分页信息 * @param total * @param size * @param page * @param type * @return */ public static int[] getPage(int total, int size, int page, String type){ int[] s = new int[4]; int quotient = total / size; int remainder = total % size; if(remainder>0){ quotient += 1; } if(type.equals("first")){ page = 1; }else if(type.equals("previous")){ page -= 1; }else if(type.equals("next")){ page += 1; }else if(type.equals("last")){ page = quotient; } s[0] = page; s[1] = quotient; s[2] = (page-1)*size+1; s[3] = page*size; return s; } }