jjqGrid表格插件自定义页码

Posted x-g-a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jjqGrid表格插件自定义页码相关的知识,希望对你有一定的参考价值。

修改jqgrid源码

1定容器 大概2225行

if(ts.p.pgbuttons===true) {
                var po=["first"+tp,"prev"+tp, "next"+tp,"last"+tp]; if(dir==="rtl") { po.reverse(); }
                pgl += "<td id=‘"+po[0]+"‘ class=‘ui-pg-button ui-corner-all‘  title=‘首页‘><span class=‘ui-icon ace-icon fa fa-angle-double-left bigger-140‘></span></td>";
                pgl += "<td id=‘"+po[1]+"‘ class=‘ui-pg-button ui-corner-all‘  title=‘上一页‘><span class=‘ui-icon ace-icon fa fa-angle-left bigger-140‘></span></td>";
                pgl += "<td><table cellspacing=‘0‘ cellpadding=‘0‘ border=‘0‘ style=‘table-layout:auto;‘ class=‘ui-pg-table custom_pager‘></table></td>";
                pgl += "<td id=‘"+po[2]+"‘ class=‘ui-pg-button ui-corner-all‘ title=‘下一页‘><span class=‘ui-icon ace-icon fa fa-angle-right bigger-140‘></span></td>";
                pgl += "<td id=‘"+po[3]+"‘ class=‘ui-pg-button ui-corner-all‘ title=‘末页‘><span class=‘ui-icon ace-icon fa fa-angle-double-right bigger-140‘></span></td>";
                pgl += ‘<td dir="ltr">跳转</td>‘;
                pgl += pginp !== "" ?  pginp :"";
                pgl += "<td dir=‘"+dir+"‘>"+$.jgrid.format(ts.p.pgtext || "","","<span id=‘sp_1_"+$.jgrid.jqID(pgid)+"‘></span>")+"</td>";
                pgl += "<td dir=‘"+dir+"‘ style=‘text-align:"+ts.p.recordpos+"‘ class=‘ui-paging-info‘></td>";
            } else if (pginp !== "") { pgl += pginp; }

 

2.updatepager 大概1941行

//分页代码
            
            var total = $(ts).jqGrid(‘getGridParam‘, ‘records‘);  //获取总条数

             var    rowListNum = $(ts).jqGrid(‘getGridParam‘, ‘rowNum‘); //当前显示的条数

             var index = $(ts).getGridParam(‘page‘);//当前页码
             
             if(total % rowListNum == 0){
                var p_total_page = parseInt(total / rowListNum);
            }else{
                var p_total_page = parseInt(total / rowListNum)+1;
            }
                if (p_total_page > 5 ) {
                    page_icon(1, 5,0);
                    $(ts.p.pager).find("table.custom_pager").find(‘td:first‘).addClass(‘active‘);

                }else{
                    page_icon(1, p_total_page,0);
                }
                if (index != 1 && p_total_page > 5) {
                    pageGroup(index,p_total_page);
                }

            if (p_total_page == 0) {
                $(ts.p.pager).find("table.custom_pager").closest(‘td‘).hide()
            }else{
                $(ts.p.pager).find("table.custom_pager").closest(‘td‘).show()            }
            $(ts.p.pager).find(‘table.custom_pager td.tdpaerborder‘).click( function() {
                var val = $(this).find(‘span‘).text();
                var page = val;//跳转页码数
                    ts.p.page = val;
                    populate();
                    
                    return false;
            });

3.插入新封装的方法

pageGroup = function(pageNum,pageCount){//点击跳转页面
            switch(pageNum){
                case 1:
                    page_icon(1,5,0);
                break;
                case 2:
                    page_icon(1,5,1);
                break;
                case pageCount-1:
                    page_icon(parseInt(pageCount)-4,parseInt(pageCount),3);
                break;
                case pageCount:
                    page_icon(parseInt(pageCount)-4,parseInt(pageCount),4);
                break;
                default:
                    page_icon(parseInt(pageNum)-2,parseInt(pageNum)+2,2);
                break;
            }
        },
        page_icon = function(page, count,eq) {//根据当前选中页生成页面点击按钮
            var tbpager = $(ts).getGridParam(‘page‘);
           var str=‘‘;
           str += ‘<tr>‘;
            for (var i = page; i <= count; i++) {

                str += "<td class=‘tdpaerborder ";
                if ((i) == tbpager) {
                    str +=‘active‘;
                }
                str += "‘><span>"+i+"</span></td>";
            }
            str += ‘</tr>‘;
            $(ts.p.pager).find("table.custom_pager").html(str);
        },

效果图

技术分享图片

 


以上是关于jjqGrid表格插件自定义页码的主要内容,如果未能解决你的问题,请参考以下文章

Sublime Text3自定义代码片段

Sublime Text自定义snippet

wps如何设置自定义编码

Swagger自定义文档插件

Java技术jQuery自定义插件开发实践

Wordpress 自定义表格插件