使用jqGrid实现分页的步骤

一、前端页面代码中引入jqGrid分页插件所需的源文件

https://github.com/tonytomov/jqGrid/tags

<link href="plugins/jqgrid-5.5.2/ui.jqgrid-bootstrap4.css" rel="stylesheet"/>
<!-- jqGrid依赖jQuery,因此需要先引入jquery.min.js文件,下方地址为字节跳动提供的cdn地址 -->
<script src="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.3.1/jquery.min.js"></script>

<!-- grid.locale-cn.js 为国际化所需的文件,-cn 表示中文 -->
<script src="plugins/jqgrid-5.5.2/grid.locale-cn.js"></script>
<script src="plugins/jqgrid-5.5.2/jquery.jqGrid.min.js"></script>

二、在前端页面中需要展示分页数据的区域添加如下代码,用于 JqGrid 初始化:

<!-- jqGrid必要DOM,用于创建表格展示列表数据 -->  
<table id="jqGrid" class="table table-bordered"></table>

<!-- jqGrid必要DOM,分页信息区域 --> 
<div id="jqGridPager"></div>  

 三、调用jqGrid分页插件的jqGrid()方法渲染分页展示区域,代码如下所示:

$("#jqGrid").jqGrid({
        url: 'users/list',
        datatype: "json",
        colModel: [
            {label: 'id', name: 'id', index: 'id', width: 50, hidden: true, key: true},
            {label: '登录名', name: 'userName', index: 'userName', sortable: false, width: 80},
            {label: '添加时间', name: 'createTime', index: 'createTime', sortable: false, width: 80}
        ],
        height: 485,
        rowNum: 10,
        rowList: [10, 30, 50],
        styleUI: 'Bootstrap',
        loadtext: '信息读取中...',
        rownumbers: true,
        rownumWidth: 35,
        autowidth: true,
        multiselect: true,
        pager: "#jqGridPager",
        jsonReader: {
            root: "data.list", 
            page: "data.currPage", 
            total: "data.totalPage", 
            records: "data.totalCount" 
        },
        prmNames: {
            page: "page",
            rows: "limit",
            order: "order"
        },
        gridComplete: function () {
            //隐藏grid底部滚动条
            $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
        }
    });

 jqGrid() 方法中的参数及含义

url: // 请求后台json数据的url  
datatype: // 后台返回的数据格式
colModel: // 列表信息:表头 宽度 是否显示 渲染参数 等属性
height: // 表格高度  可自行调节
rowNum: // 默认一页显示多少条数据 可自行调节
rowList: // 翻页控制条中 每页显示记录数可选集合
styleUI: // 主题 这里选用的是Bootstrap主题
loadtext: // 数据加载时显示的提示信息
rownumbers: // 是否显示行号,默认值是false,不显示 
rownumWidth: // 行号列的宽度
autowidth: // 宽度自适应
multiselect: // 是否可以多选
pager: // 分页信息DOM
jsonReader: { // 后端处理后传入的数据data
  root:  //数据列表模型
  page:  //数据页码
  total:  //数据总页码
  records: //数据总记录数
},
  // 向后台请求的参数
  prmNames: {
  },
    // 数据加载完成并且DOM创建完毕之后的回调函数 
    gridComplete: function () {
    }
});

jqGrid分页插件在实现分页功能时必须读取以下数据:当前页的所有数据列表、页码、总页码、总记录数量。

四、实现接口返回json数据即可 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> <link type="text/css" rel="stylesheet" href="css/jquery-ui-1.9.2.custom.min.css"> <link type="text/css" rel="stylesheet" href="css/ui.jqgrid.css"> <link rel="stylesheet" type="text/css" media="screen" href="css/ui.multiselect.css"> <script type="text/javascript" src="js/jquery-1.11.0.min.js" ></script> <script type="text/javascript" src="js/jquery-ui-1.9.2.custom.min.js"></script> <script type="text/javascript" src="js/jquery.layout-1.2.0.js"></script> <script type="text/javascript" src="js/i18n/grid.locale-cn.js"></script> <script type="text/javascript" src="js/jquery.jqGrid.min.js"></script> <script type="text/javascript" src="js/jquery.tablednd.js"></script> <script type="text/javascript" src="js/jquery.contextmenu.js"></script> <script type="text/javascript" src="js/ui.multiselect.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#list").jqGrid({ url:"happyEvent/jsonlist", datatype: "json", height: "auto", width:"auto", colNames:['id','时间', '用户名', '标题','内容'], colModel:[ {name:'id',index:'id', width:60, sorttype:"int"}, {name:'time',index:'time', width:90, sorttype:"date"}, {name:'name',index:'name', width:100}, {name:'title',index:'title', width:300, align:"left",sorttype:"float"}, {name:'content',index:'content', width:80, align:"left",sorttype:"float"} ], rowNum:2, rowList:[2,4,6], sortname: 'id', pager:"#pager", multiselect: true, caption: "喜事列表" }); $("#list").jqGrid('navGrid','#pager',{edit:false,add:false,del:false}); }); </script> </head> <body> <table id="list"></table> <div id="pager"></div> </body>
以下是 jqGrid treetable 的详细使用步骤: 1. 引入依赖文件 在页面中引入 jQueryjqGridJavaScript 和 CSS 文件。你可以从官网下载最新版本的 jqGrid,也可以使用 CDN 引入。 ```html <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/jqgrid/4.7.1/css/ui.jqgrid.min.css"> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jqgrid/4.7.1/js/i18n/grid.locale-cn.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jqgrid/4.7.1/js/jquery.jqGrid.min.js"></script> ``` 2. 创建表格容器 在页面中创建一个 div 元素,它将被用于呈现 jqGrid。你可以设置该元素的 ID,以便在 JavaScript 中引用。 ```html <div id="grid"></div> ``` 3. 初始化 jqGridJavaScript 中初始化 jqGrid。你需要设置以下属性: - url:指向你的接口地址。 - datatype:设置为“json”。 - mtype:设置为“GET”。 - colNames:设置表格的列名,应该包含你想要显示的所有列。 - colModel:设置每列的属性,包括名称、宽度、对齐方式等。 - rowNum:设置每页显示的行数。 - rowList:设置可供选择的每页行数。 - pager:设置分页控件所在的元素 ID。 - sortname:设置默认排序的列名。 - sortorder:设置默认排序的顺序。 - treeGrid:设置为“true”,表示这是一个 treetable。 - treeGridModel:设置为“adjacency”。 - ExpandColumn:设置展开按钮所在的列。 - ExpandColClick:设置为“true”,表示单击展开按钮时展开/折叠行。 - treeIcons:设置树形图标的样式。 以下是一个示例代码: ```javascript $("#grid").jqGrid({ url: "api/departments", datatype: "json", mtype: "GET", colNames: ["部门名称", "部门编号", "上级部门", "负责人"], colModel: [ { name: "Name", width: 200 }, { name: "Code", width: 80 }, { name: "ParentName", width: 200 }, { name: "Manager", width: 100 } ], rowNum: 10, rowList: [10, 20, 30], pager: "#gridPager", sortname: "Code", sortorder: "asc", treeGrid: true, treeGridModel: "adjacency", ExpandColumn: "Name", ExpandColClick: true, treeIcons: { plus: "ui-icon-plus", minus: "ui-icon-minus", leaf: "ui-icon-document-b" } }); ``` 4. 获取数据 在服务器端创建一个返回 JSON 数据的接口,该接口应该返回一个符合 treetable 格式的 JSON 数据,包含所有部门的信息。 你可以使用 C# 的 List 集合表示所有部门,然后将其转换为 JSON 数据返回给前端。具体的转换方法可以参考前面的回答。 5. 显示表格 在页面中添加分页控件,并在 JavaScript 中调用表格的显示方法。 以下是一个示例代码: ```html <div id="grid"></div> <div id="gridPager"></div> ``` ```javascript $("#grid").jqGrid("navGrid", "#gridPager", { edit: false, add: false, del: false }); ``` 通过以上步骤,你就可以在页面中显示一个带有树形结构的表格了。注意,以上代码仅供参考,实际实现时可能需要根据具体情况进行修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值