jqgrid常见问题
1,点全选按钮,只能选中当前页,第二页第三页等都不会被选中
方案:全选后,会触发onSelectAll,同时记录所有ID,在翻页时会,在gridComplete(数据变动执行方法)里面写选中代码:
如下:
2.选中行,但是不勾选复选框
beforeSelectRow: function (rowid, e) { //点击单行 // 选中行,不勾选 var $myGrid = $(this), i = $.jgrid.getCellIndex($(e.target).closest('td')[0]), cm = $myGrid.jqGrid('getGridParam', 'colModel'); return (cm[i].name === 'cb'); }
3.常见的几个事件说明
(1) gridComplete: //数据变动执行方法
(2) onSelectAll: function (aRowids, status) { // 点击全选记录ID aRowids行ID(只有当前页的ID集合),status 是否选中状态
(3) beforeSelectRow: function (rowid, e) {//点击单行 rowid:行id ,e事件
(4) onSelectRow: function (id, isSelect, event) { // 选择行后调用(id:行id,isSelect:是否是选中,event:事件)
(5) loadComplete: function (data) { //数据变动不执行方法,加载的时候执行一次
(6) ondblClickRow: function (id, rownum, colnum, event) { // 双击表格行时调用(id:双击的行号,rownum:双击的行位置,column:双击的列)
4.常用代码
//选中行 orderIdVal行ID $("#gridTable1").jqGrid('setSelection', orderIdVal); // 选中行,不勾选 var $myGrid = $(this), i = $.jgrid.getCellIndex($(e.target).closest('td')[0]), cm = $myGrid.jqGrid('getGridParam', 'colModel'); return (cm[i].name === 'cb'); //getDataIDs()返回当前grid里所有数据的id----当页的 var pcallIds = $("#gridTable").jqGrid('getDataIDs'); /总行数 var allcount = $("#gridTable").getGridParam("records");