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");