jqGrid常用方法
var jqGrid = $("#jqGrid"); // 获取选中行id【单行】,test1就是最先一个行id var test1 = jqGrid.jqGrid("getGridParam","selrow"); // 获取选中行所有id【多行】,test2选中行id集合【数组Array】 var test2 = jqGrid.jqGrid("getGridParam","selarrrow"); // 获取所有行id【展示在页面的】 var jqGridIDs = jqGrid.getDataIDs(); // 重新加载表格 jqGrid.jqGrid().trigger('reloadGrid'); // 选中行,注意一定是没有选中的,不然就是取消,也就是说选中和取消都是一个事件。 jqGrid.setSelection(rowId, true); // 刷新表格后,建议等待一定时间再操作表格,不然可能因表格没渲染就没有对象,比如等待2秒 setTimeout(function() { }, 2000); // 获取所有未选中行id,目前没发现有直接方法,思路是获取所有行id再减去选中行id var jqGridIDs = jqGrid.getDataIDs(); var jqGridRowid = jqGrid.jqGrid("getGridParam","selarrrow"); for(var i = 0; i < jqGridIDs.length; i++) { if(-1 != jqGridRowid.indexOf(jqGridIDs[i])) { jqGridIDs.splice(i, 1); i--; } } // 通过行id获取行对象 var rowData = jqGrid.jqGrid("getRowData",rowId);
2019-06-21
// 删除一行 jqGrid.jqGrid("delRowData", rowId);
// 动态显示一列,列名是test1【就是colModel里面name的值】 jqGrid.setGridParam().showCol("test1").trigger("reloadGrid"); // 动态显示多列,test1、test2 jqGrid.setGridParam().showCol("test1").showCol("test2").trigger("reloadGrid"); // 动态隐藏一列 jqGrid.setGridParam().hideCol("test1").trigger("reloadGrid"); // 动态隐藏多列,test1、test2 jqGrid.setGridParam().hideCol("test1").hideCol("test2").trigger("reloadGrid");
// 动态设置宽度 jqGrid.setGridWidth($(window).width()); // 动态隐藏多列并自动设置宽度,后重新加载表格 jqGrid.setGridParam().hideCol("test1").hideCol("test2").setGridWidth($(window).width()).trigger("reloadGrid");
// 清空表格 $("#jqGrid").jqGrid("clearGridData");
清空表格与重新加载表格不一样,清空表格只是在页面清空数据,没有再请求后台
// 设置序号宽度 rownumbers: true, rownumWidth: 40,