JqG​​rid遍历行数据和单元格数据

时间:2012-06-17 16:14:10

标签: jquery jqgrid

我正在计划生成整个网格数据的自定义XML,我需要遍历每一行以及网格的每个单元格。

如下所示,可以轻松遍历行。我面临的唯一问题是遍历单元格,因为getRowData返回键值对而不是数组。

var ids = jQuery("#jgrid").jqGrid('getDataIDs');
//traverse the rows
for (var i = 0; i < ids.length; i++) {
    var rowdata = $("#jgrid").getRowData(ids[i]);
    var res = "";
    // Traverse the cells which does not work
    for (var j = 0; j < rowdata.length; j++) {
        ...
        ....logic to generate Xml element for each cell
    }
}

我不想硬编码列名,因为我打算将它用于所有网格。所以解决方案必须是Generic。

有什么想法吗? 在此先感谢。

1 个答案:

答案 0 :(得分:6)

使用rowscells枚举网格中所有数据的最简单方法之一。重要的是要理解,jqGrid使用HTML <table>表示网格数据,<tr>表示行。 jQuery对象是DOM元素的包装器。例如,jQuery("#jgrid")[0]是实现HTMLTableElement的DOM元素。实际上所有的Web浏览器都支持DOM,因此您可以安全地使用它。 jqGrid内部使用HTMLTableElementHTMLTableRowElementHTMLTableCellElement非常永久。如果您检查在当前代码中使用的getDataIDsgetRowData的源代码,您将看到jqGrid密集使用rows的{​​{1}} DOM属性。

the asnweranother one中,您会找到枚举网格数据的代码示例。

通常,枚举由

组成
<table>