jq前端分页插件jqgrid

jq前端分页插件jqgrid

原创  2017年03月24日 17:20:46
  • 1689

1.写div











2.引用js,css




3.写js

$(function() {
$.jgrid.defaults.styleUI = "Bootstrap";  //指定表格使用样式风格,不可修改
$("#table_list_1").jqGrid({
       url:'${pageContext.request.contextPath}/roleController/list',//获取数据的地址,需修改  
       mtype : "POST",  
       contentType : "application/json",  
       datatype : "json",
       page : 1,
       autowidth: true,                       //如果为ture时,则当表格在首次被创建时会根据父元素比例重新调整表格宽度
       shrinkToFit: true,                     //此属性用来说明当初始化列宽度时候的计算类型,如果为ture,则按比例初始化列宽度。如果为false,则列宽度使用colModel指定的宽度
       rownumbers: true,                      //如果为ture则会在表格左边新增一列,显示行顺序号,从1开始递增。此列名为'rn'.
       rowNum: 10,                            //在grid上显示记录条数,这个参数是要被传递到后台
       rowList: [10, 20, 30],              //一个下拉选择框,用来改变显示记录数,当选择时会覆盖rowNum参数传递到后台
       colNames: ["角色名称" , "角色代码", "创建时间","创建人" ,"修改人","修改时间","状态" ,"操作"],//列显示名称,是一个数组对象,需修改
       cellEdit : false,                      //启用或者禁用单元格编辑功能,可修改
       colModel: [//常用到的属性:name 列显示的名称;index 传到服务器端用来排序用的列名称;width 列宽度;align 对齐方式;sortable 是否可以排序
  {name: "fRoleName",index: "fRoleName",sortable :false},
  {name: "fRoleCode",index: "fRoleCode",sortable :false},
  {name: "fCreateTime",index: "fCreateTime"},
  {name: "fCreator",index: "fCreator",sortable :false},
  {name: "fModifier",index: "fModifier",sortable :false},
  {name: "fModifiedTime",index: "fModifiedTime"},
  {name: "fSysFlag",index: "fSysFlag",sortable :false,formatter:function(cellvalue, options, rowObject){
   if(cellvalue=='1')return '有效';
   else if(cellvalue=='0')return '无效';
   else return '';
  }},
  {name: "fRoleId",index: "fRoleId", sortable :false, formatter:function(cellvalue, options, rowObject){
  return [''].join('');
  }}],
       pager: "#pager_list_1",              //定义翻页用的导航栏,必须是有效的html元素。翻页工具栏可以放置在html页面任意位置,可修改
       viewrecords: true,                   //是否要显示总记录数,可修改
       caption: "角色管理",                         //表格名称,可修改
       hidegrid: false,                     //启用或者禁用控制表格显示、隐藏的按钮,只有当caption 属性不为空时起效,可修改
       multiselect: true,                   //定义是否可以多选,可修改
       multiboxonly:true,                   //只有当multiselect = true.起作用,当multiboxonly 为ture时只有选择checkbox才会起作用,可修改
       jsonReader: {                        //描述json 数据格式的数组,需修改
         root: 'list',
    page: "current",                   // json中代表当前页码的数据
    total: "pages",    // json中代表页码总数的数据
    records: "total",// json中代表数据行总数的数据
    repeatitems: false,             // 如果设为false,则jqGrid在解析json时,会根据name来搜索对应的数据元素(即可以json中元素可以不按顺序);而所使用的name是来自于colModel中的name设定。
    cell: "cell",
    id: "fRoleId",
    userdata: "userdata",
   },onSelectRow: function(id){        //当选择行时触发此事件。rowid:当前行id;status:选择状态,当multiselect 为true时此参数才可用
   
       },gridComplete:function(){          //当表格所有数据都加载完成而且其他的处理也都完成时触发此事件,排序,翻页同样也会触发此事件
         //返回指定行的数据,返回数据类型为name:value,name为colModel中的名称,value为所在行的列的值,如果根据rowid找不到则返回空。在编辑模式下不能用此方法来获取数据,它得到的并不是编辑后的值
         var rowData=$("#table_list_1").jqGrid("getRowData");
         //角色添加
         $('#roleadd').click(function () { 
             layer.open({
             type: 2,
             title: '角色添加',
                shadeClose: true,
                shade: 0.8,
                area: ['850px', '400px'],
                content: 'role-add' 
             }); 
             });
         if(rowData.length>0){
         //选择或反选指定行。如果onselectrow为ture则会触发事件onSelectRow,onselectrow默认为ture
         $("#table_list_1").setSelection(rowData[0].id);
         //搜索功能
         $("#rolefind").click(function() {
            $("#table_list_1").jqGrid('searchGrid', {
             multipleSearch:false,
             multipleGroup:false,
              /* sopt : [ 'cn', 'bw', 'eq', 'ne', 'lt', 'gt', 'ew' ] */
            });
         });
         $("#rolerepeat").click(function() {
/*            $("input[name='fRoleName']").val("");
                $("#table_list_1").jqGrid('setGridParam',{  
                    datatype:'json',  
                    postData:{'searchString':''}, //发送数据  
                    page:1  
                }).trigger("reloadGrid"); //重新载入  */
         window.location.reload();
            });
         //批量删除
         $("#roledelmore").click(function(){  
                   var rowDelData = jQuery('#table_list_1').jqGrid('getGridParam','selarrrow');  
                   if(rowDelData.length > 0){  
                       var ids = "";  
                       for(var i=0;i                           //mainId是colModel中的一属性  
                           console.log(rowDelData[i]);
                           var mainId = rowDelData[i];  
                           if(ids != ""){  
                               ids = ids + "," + mainId;  
                           }else{  
                           ids = mainId;  
                           }  
                       }  
             layer.confirm('确认要删除吗?',function(index){
             $.ajax({
                         type: "POST",
                         url: "${pageContext.request.contextPath}/roleController/delmore",
                         data: {fRolemore:ids},
                         dataType: "json",
                         async:false, 
                         success: function(data){
                         if(data.success){
                          layer.msg('已删除!',{icon:1,time:1500});
                          setTimeout(function () { 
                          $("#table_list_1").trigger("reloadGrid");
                          }, 1500);    
                         }else{
                        layer.msg('操作失败!',{icon:1,time:1500});
                     } 
                         }
                  });
               }); 
                       //$.jqgridDeleteButtonClick(pageGrid.gridName,pageGrid.searchParameters,deleteUrl)  
                   }else{  
                   layer.msg('请选择需要删除的记录!!',{icon:1,time:1500});
                   }  
               }); 
         //角色修改
             $('.btn-edit').click(function () {
             var dataid=$(this).data("id");
             layer.open({
                type: 2,
                title: '角色修改',
                shadeClose: true,
                shade: 0.8,
                area: ['850px', '400px'],
                content: 'role-up?fRoleId='+dataid 
             }); 
             });
         //角色删除
            $('.btn-del').click(function () { 
            var dataid=$(this).data("id");
             layer.confirm('确认要删除吗?',function(index){
             $.ajax({
                         type: "POST",
                         url: "${pageContext.request.contextPath}/roleController/del",
                         data: {fRoleId:dataid},
                         dataType: "json",
                         async:false, 
                         success: function(data){
                         if(data.success){
                          layer.msg('已删除!',{icon:1,time:1500});
                          setTimeout(function () { 
                          $("#table_list_1").trigger("reloadGrid");
                          }, 1500);    
                         }else{
                        layer.msg('操作失败!',{icon:1,time:1500});
                     } 
                         }
                  });
               });
             });
         }
       }     
   }); 
});

源码:

[html]  view plain  copy
  1. <%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>  
  2. <%@ include file="../inc.jsp" %>  
  3. >  
  4. <html>  
  5.     <head>  
  6.     <meta charset="UTF-8">  
  7.     <title>环境规划管理系统title>  
  8.       
  9.     <jsp:include page="/comJSP/commonFile.jsp">jsp:include>  
  10.       
  11.       
  12.       
  13.     <link href="${pageContext.request.contextPath}/css/plugins/jqgrid/ui.jqgridffe4.css?0820" rel="stylesheet">  
  14.       
  15. <script src="${pageContext.request.contextPath}/js/plugins/jqgrid/i18n/grid.locale-cnffe4.js?0820">script>  
  16. <script src="${pageContext.request.contextPath}/js/plugins/jqgrid/jquery.jqGrid.minffe4.js?0820">script>  
  17. <script src="${pageContext.request.contextPath}/js/plugins/layer/layer.min.js">script>  
  18.       
  19.     <style type="text/css">  
  20.         .conn {  
  21.             border: 0 solid #000;  
  22.             height: 100%;  
  23.             text-align: center;  
  24.             width: 100%;  
  25.         }  
  26.         .conn img {  
  27.             height: 100%;  
  28.             vertical-align: middle;  
  29.             width: 100%;  
  30.         }  
  31.         .ui-search-table .columns,.ui-search-table .operators{  
  32.             display: none;;  
  33.         }  
  34.     style>  
  35.     <script type="text/javascript">  
  36.     script>  
  37.     head>  
  38. <body>  
  39.     <div class="all">  
  40.           
  41.         <jsp:include page="/comJSP/menu.jsp">jsp:include>  
  42.           
  43.           
  44.         <div class="pagebody">  
  45.           
  46.           
  47.         <div class="ibox-title">  
  48.             <div class="ibox-tools">  
  49.                 <button type="button" class="btn btn-outline btn-default btn-xs"  
  50.                     id="rolerepeat" data-toggle="modal" data-target="#roleModal" title="刷新 ">  
  51.                     <i class="glyphicon glyphicon-repeat " aria-hidden="true">i>刷新  
  52.                 button>  
  53.                 <button type="button" class="btn btn-outline btn-default btn-xs"  
  54.                     id="rolefind" data-toggle="modal" data-target="#roleModal" title="搜索">  
  55.                     <i class="glyphicon glyphicon-search " aria-hidden="true">i>搜索  
  56.                 button>  
  57.                 <button type="button" class="btn btn-outline btn-default btn-xs"  
  58.                     id="roleadd" data-toggle="modal" data-target="#roleModal" title="新增">  
  59.                     <i class="glyphicon glyphicon-plus " aria-hidden="true">i>新增  
  60.                 button>  
  61.                   
  62.           
  63.           
  64.         <div class="ibox-content">  
  65.             <div class="jqGrid_wrapper">  
  66.                   
  67.                 <table id="table_list_1">table>  
  68.                   
  69.                   
  70.                 <div id="pager_list_1">div>  
  71.                   
  72.             div>  
  73.         div>  
  74.           
  75.           
  76.           
  77.           
  78.         <jsp:include page="/comJSP/foot.jsp">jsp:include>  
  79.           
  80.         div>  
  81.     div>  
  82.     <script type="text/javascript">  
  83.         $(function() {  
  84.              $.jgrid.defaults.styleUI = "Bootstrap";       //指定表格使用样式风格,不可修改  
  85.              $("#table_list_1").jqGrid({  
  86.                     url:'${pageContext.request.contextPath}/roleController/list',//获取数据的地址,需修改    
  87.                     mtype : "POST",    
  88.                     contentType : "application/json",    
  89.                     datatype : "json",  
  90.                     page : 1,  
  91.                     autowidth: true,                       //如果为ture时,则当表格在首次被创建时会根据父元素比例重新调整表格宽度  
  92.                     shrinkToFit: true,                     //此属性用来说明当初始化列宽度时候的计算类型,如果为ture,则按比例初始化列宽度。如果为false,则列宽度使用colModel指定的宽度  
  93.                     rownumbers: true,                      //如果为ture则会在表格左边新增一列,显示行顺序号,从1开始递增。此列名为'rn'.  
  94.                     rowNum: 10,                            //在grid上显示记录条数,这个参数是要被传递到后台  
  95.                     rowList: [10, 20, 30],              //一个下拉选择框,用来改变显示记录数,当选择时会覆盖rowNum参数传递到后台  
  96.                     colNames: ["角色名称" , "角色代码", "创建时间","创建人" ,"修改人","修改时间","状态" ,"操作"],     //列显示名称,是一个数组对象,需修改  
  97.                     cellEdit : false,                      //启用或者禁用单元格编辑功能,可修改  
  98.                     colModel: [     //常用到的属性:name 列显示的名称;index 传到服务器端用来排序用的列名称;width 列宽度;align 对齐方式;sortable 是否可以排序  
  99.                                {name: "fRoleName",index: "fRoleName",sortable :false},  
  100.                                {name: "fRoleCode",index: "fRoleCode",sortable :false},  
  101.                                {name: "fCreateTime",index: "fCreateTime"},  
  102.                                {name: "fCreator",index: "fCreator",sortable :false},  
  103.                                {name: "fModifier",index: "fModifier",sortable :false},  
  104.                                {name: "fModifiedTime",index: "fModifiedTime"},  
  105.                                {name: "fSysFlag",index: "fSysFlag",sortable :false,formatter:function(cellvalue, options, rowObject){  
  106.                                     if(cellvalue=='1')  return '<span style="color:green">有效span>';  
  107.                                     else if(cellvalue=='0') return '<span style="color:red">无效span>';  
  108.                                     else return '';  
  109.                                }},  
  110.                                {name: "fRoleId",index: "fRoleId", sortable :false, formatter:function(cellvalue, options, rowObject){  
  111.                                    return ['<button type="button" class="btn btn-outline btn-default btn-xs btn-edit" data-id="'+cellvalue+'" title="编辑" ><i class="glyphicon glyphicon-edit" aria-hidden="true">i>button><button type="button" class="btn btn-outline btn-default btn-xs btn-del" data-id="'+cellvalue+'" title="删除"><i class="glyphicon glyphicon-trash" aria-hidden="true">i>button>'].join('');  
  112.                                }}],  
  113.                     pager: "#pager_list_1",              //定义翻页用的导航栏,必须是有效的html元素。翻页工具栏可以放置在html页面任意位置,可修改  
  114.                     viewrecords: true,                   //是否要显示总记录数,可修改  
  115.                     caption: "角色管理",                         //表格名称,可修改  
  116.                     hidegrid: false,                     //启用或者禁用控制表格显示、隐藏的按钮,只有当caption 属性不为空时起效,可修改  
  117.                     multiselect: true,                   //定义是否可以多选,可修改  
  118.                     multiboxonly:true,                   //只有当multiselect = true.起作用,当multiboxonly 为ture时只有选择checkbox才会起作用,可修改  
  119.                     jsonReader: {                        //描述json 数据格式的数组,需修改  
  120.                         root: 'list',  
  121.                         page: "current",                   // json中代表当前页码的数据  
  122.                         total: "pages",    // json中代表页码总数的数据  
  123.                         records: "total",// json中代表数据行总数的数据  
  124.                         repeatitems: false,             // 如果设为false,则jqGrid在解析json时,会根据name来搜索对应的数据元素(即可以json中元素可以不按顺序);而所使用的name是来自于colModel中的name设定。  
  125.                         cell: "cell",  
  126.                         id: "fRoleId",  
  127.                         userdata: "userdata",  
  128.                     },onSelectRow: function(id){        //当选择行时触发此事件。rowid:当前行id;status:选择状态,当multiselect 为true时此参数才可用  
  129.                           
  130.                     },gridComplete:function(){          //当表格所有数据都加载完成而且其他的处理也都完成时触发此事件,排序,翻页同样也会触发此事件  
  131.                         //返回指定行的数据,返回数据类型为name:value,name为colModel中的名称,value为所在行的列的值,如果根据rowid找不到则返回空。在编辑模式下不能用此方法来获取数据,它得到的并不是编辑后的值  
  132.                         var rowData=$("#table_list_1").jqGrid("getRowData");  
  133.                         //角色添加  
  134.                         $('#roleadd').click(function () {   
  135.                             layer.open({  
  136.                                 type: 2,  
  137.                                 title: '角色添加',  
  138.                                 shadeClose: true,  
  139.                                 shade: 0.8,  
  140.                                 area: ['850px', '400px'],  
  141.                                 content: 'role-add'   
  142.                             });   
  143.                         });  
  144.                         if(rowData.length>0){  
  145.                             //选择或反选指定行。如果onselectrow为ture则会触发事件onSelectRow,onselectrow默认为ture  
  146.                             $("#table_list_1").setSelection(rowData[0].id);  
  147.                             //搜索功能  
  148.                             $("#rolefind").click(function() {  
  149.                                     $("#table_list_1").jqGrid('searchGrid', {  
  150.                                         multipleSearch:false,  
  151.                                         multipleGroup:false,  
  152.                                       /* sopt : [ 'cn', 'bw', 'eq', 'ne', 'lt', 'gt', 'ew' ] */  
  153.                                     });  
  154.                             });  
  155.                             $("#rolerepeat").click(function() {  
  156. /*                                  $("input[name='fRoleName']").val("");  
  157.                                 $("#table_list_1").jqGrid('setGridParam',{    
  158.                                     datatype:'json',    
  159.                                     postData:{'searchString':''}, //发送数据    
  160.                                     page:1    
  161.                                 }).trigger("reloadGrid"); //重新载入  */  
  162.                                 window.location.reload();  
  163.                             });  
  164.                             //批量删除  
  165.                             $("#roledelmore").click(function(){    
  166.                                 var rowDelData = jQuery('#table_list_1').jqGrid('getGridParam','selarrrow');    
  167.                                 if(rowDelData.length > 0){    
  168.                                     var ids = "";    
  169.                                     for(var i=0;i<rowDelData.length;i++){    
  170.                                         //mainId是colModel中的一属性    
  171.                                         console.log(rowDelData[i]);  
  172.                                         var mainId = rowDelData[i];    
  173.                                         if(ids != ""){    
  174.                                             ids = ids + "," + mainId;    
  175.                                         }else{    
  176.                                             ids = mainId;    
  177.                                         }    
  178.                                     }    
  179.                                     layer.confirm('确认要删除吗?',function(index){  
  180.                                         $.ajax({  
  181.                                                  type: "POST",  
  182.                                                  url: "${pageContext.request.contextPath}/roleController/delmore",  
  183.                                                  data: {fRolemore:ids},  
  184.                                                  dataType: "json",  
  185.                                                  async:false,   
  186.                                                  success: function(data){  
  187.                                                      if(data.success){  
  188.                                                       layer.msg('已删除!',{icon:1,time:1500});  
  189.                                                       setTimeout(function () {   
  190.                                                           $("#table_list_1").trigger("reloadGrid");  
  191.                                                       }, 1500);      
  192.                                                      }else{  
  193.                                                       layer.msg('操作失败!',{icon:1,time:1500});  
  194.                                                      }   
  195.                                                  }  
  196.                                           });  
  197.                                        });   
  198.                                     //$.jqgridDeleteButtonClick(pageGrid.gridName,pageGrid.searchParameters,deleteUrl)    
  199.                                 }else{    
  200.                                     layer.msg('请选择需要删除的记录!!',{icon:1,time:1500});  
  201.                                 }    
  202.                             });   
  203.                             //角色修改  
  204.                             $('.btn-edit').click(function () {  
  205.                                 var dataid=$(this).data("id");  
  206.                                 layer.open({  
  207.                                     type: 2,  
  208.                                     title: '角色修改',  
  209.                                     shadeClose: true,  
  210.                                     shade: 0.8,  
  211.                                     area: ['850px', '400px'],  
  212.                                     content: 'role-up?fRoleId='+dataid   
  213.                                 });   
  214.                             });  
  215.                             //角色删除  
  216.                             $('.btn-del').click(function () {   
  217.                                 var dataid=$(this).data("id");  
  218.                                 layer.confirm('确认要删除吗?',function(index){  
  219.                                     $.ajax({  
  220.                                              type: "POST",  
  221.                                              url: "${pageContext.request.contextPath}/roleController/del",  
  222.                                              data: {fRoleId:dataid},  
  223.                                              dataType: "json",  
  224.                                              async:false,   
  225.                                              success: function(data){  
  226.                                                  if(data.success){  
  227.                                                   layer.msg('已删除!',{icon:1,time:1500});  
  228.                                                   setTimeout(function () {   
  229.                                                       $("#table_list_1").trigger("reloadGrid");  
  230.                                                   }, 1500);      
  231.                                                  }else{  
  232.                                                   layer.msg('操作失败!',{icon:1,time:1500});  
  233.                                                  }   
  234.                                              }  
  235.                                       });  
  236.                                    });  
  237.                             });  
  238.                         }  
  239.                     }         
  240.                 });   
  241.         });  
  242.     script>  
  243. body>  
  244. html>  


效果图:

jq前端分页插件jqgrid_第1张图片

你可能感兴趣的:(JQUERY)