使用loadonce问题时JQGrid分组

时间:2014-03-10 12:52:50

标签: javascript jquery xml jqgrid grouping

这里的第一个计时器......所以提前谢谢。

我有一个JQGrid页面。 这是我的JQGrid(最新版本......昨天下载)设置:

$(function() {
    $("#list").jqGrid({
        caption: "My first grid",
        url: "demo_data.php",
        loadonce: true,
        datatype: "xml",
        mtype: "GET",
        pager: "#pager",
        height: "100%",
        autowidth: true,
        altRows: false,
        rowTotal: 2000,
        rowNum: 10000,
        rowList: [10, 25, 50],
        viewrecords: true,
        autoencode: true,
        colNames: ["Publisher", "First Name", "Last Name", "EMail"],
        colModel: [
            {name: "pid"},
            {name: "fname"},
            {name: "lname"},
            {name: "email", summaryType:'count',summaryTpl:'<b>{0} Item(s)</b>'}
        ],
        sortname: "pid",
        sortorder: "desc",
        grouping: true, 
        groupingView: {
            groupField: ['pid'],
            groupOrder: ['asc'],
            groupCollapse : true,
            groupText : ['<b>{0} - {1} Item(s)</b>'],
            groupSummary : true
        },
        ignoreCase: true
    });
    $("#list").jqGrid('filterToolbar',{
        stringResult: true,
        searchOnEnter : false,
        defaultSearch: "cn"
    });
});

当loadonce为true时,我在控制台上收到错误:

Uncaught TypeError: Cannot read property '0' of null

此错误会停止此代码行上的脚本:

if(!grdata[kk - offset]) { break; }

在GroupRender功能上。

当我使loadonce为false时,一切都可以正常进行分组,但我放弃了令人敬畏的客户端数据操作。

这是我作为数据发送的XML文件:

<rows>
  <row id = '1'>
    <cell></cell>DataA</cell>
    <cell>NameA</cell>
    <cell>LastNameA</cell>
    <cell>EMail A</cell>
  </row>
  <row id = '2'>
    <cell>DataA</cell>
    <cell>NameB</cell>
    <cell>LastNameB</cell>
    <cell>EMail B</cell>
  </row>
  <row id = '1'>
    <cell>DataB</cell>
    <cell>NameAA</cell>
    <cell>LastNameAA</cell>
    <cell>EMail AA</cell>
  </row>
  <row id = '1'>
    <cell>DataB</cell>
    <cell>NameBB</cell>
    <cell>LastNameBB</cell>
    <cell>EMail BB</cell>
  </row>
</rows>

预先感谢您的协助:)

1 个答案:

答案 0 :(得分:0)

loadonce:true似乎不适用于分组:如果数据类型为xml,则为true

我遇到了同样的问题,我通过更改url属性调用的PHP页面来返回json,然后将datatype属性更改为json来解决它。