Jqgrid 如何仅导出可见数据?
我使用此方法导出数据:Jqgrid 如何仅导出可见数据?,jqgrid,export,Jqgrid,Export,我使用此方法导出数据: $('#list').jqGrid('getRowData') 但是现在我希望getRowData只返回可见列中的数据 我像这样隐藏我的专栏: $("#list").jqGrid('hideCol',columnName) jqGrid是否支持开箱即用?或者我需要定制一些东西 方法getRowData没有仅导出可见数据的选项。因此,如果您需要这些数据,我可以向您推荐两种实现方法: 您可以使用getRowData获取所有数据,然后从结果数据的每个项目中删除不需要的属性。
$('#list').jqGrid('getRowData')
但是现在我希望getRowData只返回可见列中的数据
我像这样隐藏我的专栏:
$("#list").jqGrid('hideCol',columnName)
jqGrid是否支持开箱即用?或者我需要定制一些东西 方法
getRowData
没有仅导出可见数据的选项。因此,如果您需要这些数据,我可以向您推荐两种实现方法:
getRowData
获取所有数据,然后从结果数据的每个项目中删除不需要的属性。调用$('#list').jqGrid('getGridParam','colModel')
获取网格的列数组。colModel
数组的每一项都包含hidden
属性。如果hidden
属性为true
,则相应的列不可见,您可以从getRowData
返回的所有数组项中删除该项的name
属性getRowData
的修改,该修改只导出可见数据。为此,您需要复制getRowData
(请参阅)的源代码,并从if(nm!=“cb”&&nm!=“子网格”&&nm!=“rn”){
到
if(nm!='cb'和&nm!='subgrid'和&nm!='rn'和&!$t.p.colModel[i]。隐藏){
生成的方法将满足您的需要
我在《如何将新方法添加到jqGrid》一书中描述过
$.jgrid.extend({
getVisibleRowData: function(rowid) {
// here can be the copy of the code of getRowData
// starting with the line
// var res = {}, resall, getall=false, len, j=0;
// see https://github.com/tonytomov/jqGrid/blob/v4.5.2/js/grid.base.js#L3027-L3061
// you need just make the described above
// modification of one line of the code
}
});
您可以按名称使用新方法:$('#list').jqGrid('getVisibleRowData')