2014-09-18 55 views
-1

我使用的jqGrid与数据类型为JSON和值从另一个URL取回后,排序不工作的jqGrid使用自定义格式

 colModel: [ 
    { name: "Details", width: 200,classes: 'pointer wrap',sortable: false, 
     formatter: function myFormatter(cellvalue, options, rowObject){ 
     number=rowObject.properties.number; 
     name= rowObject.properties.shortName; 
      fullDetails= '<strong> '+name+ '</strong> </br>[<a id="pointer" title="Click to search" href= http://google.com/search?search='+number+' target='+number+'>'+number+'</a>]'; 
     return fullDetails; 

     } 
     }, 
    { name:"name",jsonmap: "properties.shortName", width: 200,classes: 'pointer wrap',hidden:true}, 
    {name:"number", jsonmap: "properties.number", width: 50 ,sortable: true,hidden:true}, 
    { name:"date",jsonmap: "properties.date", width: 80,hidden :false} 

], 
    pager: "#pager", 
    //rowNum: 20, 
    rowNum: 100, 
    rowList: [10, 20, 30], 
    sortname: "matter", 
    sortorder: 'asc', 
    viewrecords: true, 
    gridview: true, 
    loadonce : true, 
    autoencode: true, 
    height:'auto', 
    hidegrid: false, 

    caption: "Details", 
    jsonReader : { 
     repeatitems: false, 

     root: "properties" 

     } 

加载工作正常 但是,单击列标题后对它进行排序

TypeError:rowObject.properties未定义 number = rowObject.properties.number;显示为 可能会出现什么问题? 有什么可以解决的? 下面给出的是样本数据

   [ 
       {"properties": 
        {"date":1409327760,"name":"agent M","number":"4117859","shortName":"AM"},"children":null,"valId":"225","objectType":"VAL"}, 
       {"properties": 
        {"date":14093278860,"name":"agent x","number":"97893783","shortName":"AX"},"children":null,"valId":"191","objectType":"VAL"} 
     ] 
+0

遗憾我错过了 我对此感到 – 2014-09-18 17:29:03

回答

1

您应不使用列名像name: "properties.number"等。您应该查看name属性的值,例如将用作变量名称(或属性名称)的值以及id属性值的一部分。

loadComplete内部的行jQuery("#list").jqGrid('setGridParam',{datatype:'local'});通常是错误的。如果您从服务器加载数据并使用datatype: "json",则应该使用loadonce: true

您没有发布datatype您使用过的并没有发布输入数据的示例(2行输入数据就足够了)。似乎怀疑jsonReader的值repeatitems: true。不过,我可以假设你可以使用jsonmap属性为原始数据(从服务器返回)阅读:

{ name: "number", jsonmap: "properties.number", width: 50, hidden: true} 

the demo

+0

感谢您的建议非常抱歉 我真的很感激 但不幸的是,这些不利于在获得我需要的结果 问题依然屹立 类型错误:rowObject.properties被undefined number = rowObject.properties.number – 2014-09-18 17:33:28

+0

@MMG:你应该包含更多细节('datatype'和网格输入数据的例子,至少两行)。 – Oleg 2014-09-18 17:35:49

+0

我在我的问题的第一行中提到了我的数据类型为JSON,并且对于数据我没有找到添加示例数据的原因。我也可以添加示例数据以及 – 2014-09-18 17:38:24

相关问题