在使用本地数据时,利用ajax获取所有的数据,然后jqgrid利用本地数据自行分页.
如果要导出Excel所有的数据,并切jqgrid已经对数据进行了格式化,自己又不想重新查询所有数据并格式化,则干脆利用jqgrid获取表格的所有数据作为excel的数据源,然后导出.
翻阅jqgrid有//var allData = $(“#table_list_1”).getRowData();//获取所有数据这个方法.但是只是获取的当前页的数据.所以利用一下方法获取表格的所有数据:
参考其他网友的方法
//获取当前表格的所有数据
function getJQAllData() {
var o = jQuery("#table_list_1");
//获取当前显示的数据
var rows = o.jqGrid('getRowData');
var rowNum = o.jqGrid('getGridParam', 'rowNum'); //获取显示配置记录数量
var total = o.jqGrid('getGridParam', 'records'); //获取查询得到的总记录数量
//设置rowNum为总记录数量并且刷新jqGrid,使所有记录现出来调用getRowData方法才能获取到所有数据
o.jqGrid('setGridParam', { rowNum: total }).trigger('reloadGrid');
var rows = o.jqGrid('getRowData'); //此时获取表格所有匹配的
o.jqGrid('setGridParam', { rowNum: rowNum }).trigger('reloadGrid'); //还原原来显示的记录数量
return rows;
}
这样就可以直接把jq表格当前的所有数据获取到了.