为 jqGrid 使用自定义 JSON 格式

Posted

技术标签:

【中文标题】为 jqGrid 使用自定义 JSON 格式【英文标题】:Using a custom JSON format for jqGrid 【发布时间】:2011-05-03 19:37:57 【问题描述】:

我有一个 JSON 文件,其格式必须如下。如何让 jqGrid 使用 jsonmapcolModeljsonReader 选项解释这种格式?

[
  
    "element1" : 
      "subElement1" : "value",
      "subElement2" : "value"
    
    "element2" : 
      "subElement3" : "value",
      "subElement4" : "value"
    
  , 

  
    "element1" : 
      "subElement1" : "value",
      "subElement2" : "value"
    
    "element2" : 
      "subElement3" : "value",
      "subElement4" : "value"
    ,

    // . . . etc. . . .
  
]

colNames 将是 ["subElement1", "subElement2", "subElement3", "subElement4"]

非常感谢您的帮助。

【问题讨论】:

这个问题的答案有帮助:***.com/questions/2690657/mapping-json-data-in-jqgrid。我的问题已解决,但我有几个小时无法回答自己的问题。 我很高兴看到我的旧答案可以帮助您。如果您在自己的问题上写下简短的答案并将其(一天后)标记为“已接受”,那会更好。在unanswered questions 的列表中,您的问题将不再出现。最美好的祝愿! 【参考方案1】:

您总是可以在这里阅读有关格式化的 jQGrid API: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options

考虑到您的值都是字符串,为您提供自定义格式化程序有点棘手......它还支持对货币和日期进行排序。

演示在这里提供源代码:http://www.trirand.com/blog/jqgrid/jqgrid.html

另外,很确定您可以指定 function 作为格式,并在该函数中返回格式化值。例如,我编写了一个函数,它获取一个状态并返回一个带有该状态图标的图像。

这是一个例子:

jQuery("#list2").jqGrid(
    url:'server.php?q=2',
    datatype: "json",
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
    colModel:[
        name:'id',index:'id', width:55,
        name:'invdate',index:'invdate', width:90,
        name:'name',index:'name asc, invdate', width:100,
        name:'amount',index:'amount', width:80, align:"right",
        name:'tax',index:'tax', width:80, align:"right",      
        name:'total',index:'total', width:80,align:"right",       
        name:'note',index:'note', width:150, sortable:false       
    ],
    rowNum:10,
    rowList:[10,20,30],
    pager: '#pager2',
    sortname: 'id',
    viewrecords: true,
    sortorder: "desc",
    caption:"JSON Example"
);

【讨论】:

哦,没错……他们的 wiki 并不是很好的示例。不久前我在一个项目中使用了它,只是从演示中查看了源代码。为该答案添加了另一个链接。 是的,他们的 wiki 很差,而且似乎是由不精通英语的人编写的。 jqGrid 让我很头疼的是他们有各种各样的选择,但简单的东西却让他们望而却步。就像他们为什么没有默认的电话号码格式器一样...我不得不自己编写,并且它搞砸了 Asp.net MVC4 上的一些 css ...在 2 上工作正常,但在某些情况下搞砸了四个原因。男孩这样做让我很沮丧。

以上是关于为 jqGrid 使用自定义 JSON 格式的主要内容,如果未能解决你的问题,请参考以下文章

jqGrid 字符串自定义格式,如日期格式

使用嵌套JSON对象自定义(透视)Jqgrid的显示

jqGrid细节备注—jqGrid中自定义格式,URL格式

Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页搜索格式化自定义按钮

使用自定义日期格式后,jQGrid DateFilter无法正常工作

自定义单选按钮jqgrid编辑表单