为 jqGrid 使用自定义 JSON 格式
Posted
技术标签:
【中文标题】为 jqGrid 使用自定义 JSON 格式【英文标题】:Using a custom JSON format for jqGrid 【发布时间】:2011-05-03 19:37:57 【问题描述】:我有一个 JSON 文件,其格式必须如下。如何让 jqGrid 使用 jsonmap
、colModel
或 jsonReader
选项解释这种格式?
[
"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 格式的主要内容,如果未能解决你的问题,请参考以下文章
Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页搜索格式化自定义按钮