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')