首页 > 开发 > Javascript > 正文

jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)

2020-02-27 03:34:01
字体:
来源:转载
供稿:网友

jqGrid 是一个用来显示网格数据的jQuery插件,通过使用jqGrid可以轻松实现前端页面与后台数据的ajax异步通信。

一、要引用的文件

要使用jqGrid,首先页面上要引入如下css与js文件。

1、css

<link href="/css/ui.jqgrid.css" rel="stylesheet" type="text/css" />

2、js

  <script src='/Scripts/js/jquery-2.0.3.min.js' type="text/javascript"></script>  <script src='/Scripts/js/jqGrid/jquery.jqGrid.min.js' type="text/javascript"></script>  <script src='/Scripts/js/jqGrid/i18n/grid.locale-en.js' type="text/javascript"></script>

二、使用要点说明

1、获取值

(1)、获取单个id

获取行号,有这种方式:

var rowid = $("#grid-table").jqGrid("getGridParam", "selrow");

但是经过实际验证,这种方式不可行,当选中行,再点击同一行会出现获取不到行号的情况。

最后先在js最外部定义一个变量selId,然后使用如下代码在选中行时赋值:

onSelectRow: function (rowid, status) {    selId = rowid;  //给最外层的selId赋值  }

(2)、获取多个选中行的id

var ids=$('#gridTable').jqGrid('getGridParam','selarrrow');

其输出格式是逗号分隔的id,如:

1,2,3,4,5

(3)、获得所有行的ID数组

var ids = $("jqgridtableid").jqGrid('getDataIDs');

(4)、获取行数据

如果想获取选择的行的数据,只要传入rowId即可,如下:

var rowData = $('#gridTable').jqGrid('getRowData',rowId);

而这个rowData是一个对象,如果要获取选择的行的这个对象的属性值,如name的值,需如下:

var Name= rowData.name;

(5)、获取单元格数据

var celldata = $("jqgridtableid").jqGrid('getCell',id,colnum);

(6)、设定行选中

  //设定选中行,可设定多行选中:  $("jqgridtableid").jqGrid('setSelection',id1);  $("jqgridtableid").jqGrid('setSelection',id2);

2、自定义分页、数据交互

何谓自定义?就是允许你用你自己喜欢的js对象与后端做数据交互。如jsonReader。

如果这个地方的Id设置错了,那么jqGrid就会自动以行号作为Id,这样会影响删除的。如果根据Id来删,很有可能删错行。

jsonReader: {    id: "Id", //相当于设置主键    root: "JsonArray",    //Json数据    total: "TotalPage",   //总页数    page: "CurrentPage",  //当前页    records: "TotalRecord",//总记录数    repeatitems: false  },            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表