Jquery jqgrid getRowData忽略列选择器

Jquery jqgrid getRowData忽略列选择器,jquery,jqgrid,Jquery,Jqgrid,我正在使用最新的免费jqGrid(今天拉)。我正在使用columnChooser。默认情况下,我将所有可用列加载到网格中。我使用columnChooser删除一些列。这很有效 我使用getRowData()导出网格数据。这非常有效,甚至可以维护我的过滤器和排序。但是getRowData总是返回所有列,即使我使用columnChooser删除它们 如何使getRowData仅包含网格中可见的列?我尝试过重新加载,但没有成功地重新加载了多个列 $('#iown').jqGrid('navButton

我正在使用最新的免费jqGrid(今天拉)。我正在使用columnChooser。默认情况下,我将所有可用列加载到网格中。我使用columnChooser删除一些列。这很有效

我使用getRowData()导出网格数据。这非常有效,甚至可以维护我的过滤器和排序。但是getRowData总是返回所有列,即使我使用columnChooser删除它们

如何使getRowData仅包含网格中可见的列?我尝试过重新加载,但没有成功地重新加载了多个列

$('#iown').jqGrid('navButtonAdd', '#iownpager', { caption: "", buttonicon: "ui-icon-calculator", onClickButton: function () {
    $('#iown').jqGrid('columnChooser',{modal: true, width: 550,
        done : function(perm) {
            if (perm) {
                $('#iown').jqGrid("remapColumns", perm, true);
            }
        }
    });
},
title: "Choose columns"
});


$("#iown").jqGrid('navButtonAdd','#iownpager', { caption: '', buttonicon: 'ui-icon-disk', onClickButton: function () {
    var gridData = jQuery("#iown").getRowData();
    var postData = JSON.stringify(gridData);

    JSONToCSVConvertor(postData, report, true);
},
title: 'Download Current Grid View',
id: 'iown-dl'
});
谢谢,,
Mike

在我看来,这个问题似乎与
columnChooser
无关。只需使用
getRowData
,即可从当前页面的所有列(包括隐藏列)返回数据

我建议您将
getRowData
的用法替换为以下代码

var iCol,$grid=$(“#iown”),colModel=$grid.jqGrid(“getGridParam”,“colModel”),
idPrefix=$grid.jqGrid(“getGridParam”,“idPrefix”),tr,td,cm,cmName,item,
nCols=colModel.length,rows=$grid[0]。rows,iRow,nRows=rows.length,data=[];
对于(iRow=0;iRow

该代码使用网格中的数据填充
数据
数组,并与
getRowData
方法非常接近。我只为您需要的列的
hidden
属性添加了额外的测试,删除了TreeGrid只需要的一些代码,并添加了
id
属性的设置。

谢谢您!我换了一个小零钱。我删除了此行:我删除了此行:item.id=$.jgrid.stripref(idPrefix,tr.id);因为它在每行末尾返回我的第一列(ID)。但在某些情况下,我可以看到它的价值。也许可以让getRowData接受参数{hidden:false,id:false}???@Mike:谢谢你的主意!我想我会在我的jqGrid分支中实现这些选项@迈克:我在GitHub上的免费jqGrid的主代码中包含了这个特性。看,这是伟大的奥列格。我考虑过这个特性,认为id:true应该只覆盖id的hidden:false。对于我的许多实现,id是隐藏的,因为它是服务器端数据库更新的密钥,并且可能对动态图表有用。但如果它是隐藏的,它将不可用。这有意义吗?你已经考虑过了。我看过你的承诺书,但我不确定。不管怎样,我都会下载并试驾。非常感谢,迈克