【问题标题】:jqGrid not showing rows, only shows total number of rowsjqGrid不显示行,只显示总行数
【发布时间】:2011-08-30 16:32:33
【问题描述】:

我遇到了一个无法解决的问题。

请先看看这张图片

如您所见,我已经能够从服务器请求 JSON 数据。寻呼机显示有 4 条记录。但是记录没有显示在表格中。

这是我的 javascript 代码

jQuery("#pickFlex66").jqGrid({
    url: root + '<?=$mod?>' + '/listpicker',
    datatype: "json",
    altRows: true,
    mtype: 'POST',
    colNames:['Code','Company Name'],
    colModel:[
        {name:'company_code',index:'company_code', width:100},
        {name:'company_name',index:'company_name', width:100}
        ],
    rowNum:10,
    width: 540,
    height: 310,
    rowList:[10,20,30],
    pager: '#pagerFlex66',
    sortname: 'company_code',
    shrinkToFit: false,
    viewrecords: true,
    sortorder: "desc",
    caption:"<?=lang("users_title")?>",
    onSelectRow: function(id){

    }
});

jQuery("#pickFlex66").jqGrid('navGrid','#pagerFlex66',{edit:false,add:false,del:false,search:false});

这是我的 JSON 数据

{
"page": "1",
"total": 0,
"records": "4",
"rows": [{"id":"5","cell":["55-123","123"]},{"id":"3","cell":["123","IBM"]},{"id":"2","cell":["00000","BDO"]},{"id":"1","cell":["000-00","IT GROUP Inc "]}]
}

我的 javascript 有错误吗?或者可能在我的 JSON 数据中?

【问题讨论】:

    标签: javascript jquery json jqgrid


    【解决方案1】:

    我同意 Briguy37 的观点,即 "total": 0 的值很奇怪,而且是不正确的。不过 jqGrid 应该会显示所有数据。

    我想您的代码部分存在问题,您未在此处发布。您如何从the demo 看到您发布的代码可以读取和显示 JSON 数据。

    【讨论】:

    • 嗨奥列格,是的,我已将总计更改为 1:D,是的,它仍然没有显示任何数据行:D 我必须说很奇怪.. 无论如何,我会看看你的链接并调查更多我可能做错的事情。非常感谢您
    【解决方案2】:

    这里有几个问题......不过,还没有弄清楚为什么您的结果还没有得到填充:

    Total 在您返回的 JSON 中应该是页数。因为它设置为0,所以它显示0。此外,如果您更改每页的结果数,您可能希望将 rowCount 返回为 10。

    【讨论】:

    • 我不认为这是原因。我已经试过了。 :D 感谢您的回复
    • @strike_noir:也许你可以尝试调用 jQuery("#pickFlex66").jqGrid(..) 一次。我不确定第二次调用的目的是什么......
    【解决方案3】:

    您缺少一个 json 阅读器,我遇到了完全相同的问题。

    $("#list").jqGrid({
    url : "my-json-table-action' />",
    datatype: 'json',
    jsonReader: {
    root: 'gridModel',
    id: 'idTT',
    repeatitems: false,
    },
    resize: false,
    hidegrid: false,
    data: 'trabajosTerminales',
    mtype: 'POST',
    height: 'auto',
    colNames:['No. de Registro', 'Título', 'Tipo', 'Periodo'],
    colModel :[ 
    {name:'numRegistro', index:'titulo', search: 'true', stype:'text', align:'center' searchrules:{required:true},  width:100  },
    {name:'titulo', key:'true', index:'titulo', search: 'true', stype:'text',        searchrules:{required:true},  width:800  },
    {name:'tipo', key:'true', index:'tipo', search: 'true', stype:'text',align:'center', searchrules:{required:true},  width:100  },
    {name:'periodo', key:'true', index:'titulo', search: 'true', stype:'text', searchrules:{required:true},  width:100  },
    ],
    pager: '#pager', 
    rowNum:10,
    rowList:[10,20,30],
    viewrecords: true,
    gridview: true,
    caption: 'Trabajos Terminales dirigidos',
    }); 
    
    jQuery("#list").navGrid('#pager',{edit:false,add:false,del:false});     
    }); 
    

    其中根元素是包含您的数据的数组,在这种情况下,我在一个名为“gridModel”的数组中返回我的数据,id 不是必需的。但是您必须确保正确设置根元素,在您的情况下,它被称为“rows”而不是“gridModel”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 2012-09-24
      • 1970-01-01
      • 2019-07-14
      • 1970-01-01
      相关资源
      最近更新 更多