JSON和jqGrid。什么是“userdata”?

时间:2010-06-27 20:44:46

标签: jquery json jqgrid user-data

我无法理解jqGrid的JSON数据源中的所有字段意味着什么,我在任何地方都没有看到任何文档。

我试图理解的例子是:http://www.trirand.com/blog/jqgrid/jqgrid.html然后是“JSON数据”下的第一个例子

可以在此处访问JSON数据:http://www.trirand.com/blog/jqgrid/server.php?q=2&rows=10&page=2

令我迷失在JSON中的一件事就是这个小报:

"userdata":{"amount":1520,"tax":202,"total":1724,"name":"Totals:"}

这究竟是做什么的?

2 个答案:

答案 0 :(得分:7)

很容易解释。服务器生成将用于填充网格的数据。可以分页数据。所以在发送到服务器的URL中我们可以找到rows=10&page=2,这意味着“当页面大小为10行时,给我第二页数据”。这些附加参数将添加到主URL“server.php?q = 2”,定义为jqGrid参数之一。服务器返回10行或更少的行。在http://www.trirand.com/blog/jqgrid/server.php?q=2&rows=10&page=2 url的情况下,服务器仅返回3个最后一行(总共10个)

{"page":"2",
 "total":2,
 "records":"13",
 "rows":[
   {"id":"11","cell":["11","2007-10-06","Client 1","600.00","120.00","720.00",null]},
   {"id":"12","cell":["12","2007-10-06","Client 2","700.00","140.00","840.00",null]},
   {"id":"13","cell":["13","2007-10-06","Client 3","1000.00","0.00","1000.00",null]}
 ],
 "userdata":{"amount":2300,"tax":260,"total":2560,"name":"Totals:"}
}

现在关于你的主要问题:什么是“userdata”?存在一种将附加信息与主数据一起从服务器发送到客户端的旧方法。它可以是完全免费的数据。从服务器收到的所有数据都将由jqGrid解析,名称为jsonReader(参见http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data)。定义了一个标准的JSON读取器,它从发送的数据的根读取数据userdata属性并保存它。

可以访问这些数据
var myUserData = jQuery("grid_id").getGridParam('userData');

(见http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#user_data)。

从jqGrid的3.5版本开始,可以在jqGrid中放置一个额外的最后一行,它可以扮演“Summary Footer Row”角色(请参阅“{3}”下的“版本3.5中的新功能”,“摘要页脚”行“例子”。现在你可以看到,示例中的url完全相同:“server.php?q = 2”。因此,在第一个示例中,userdata将不会被使用,但它将在“摘要页脚行”示例中使用。

答案 1 :(得分:1)

这似乎是第二个分页页面上的'Amount''Tax'和'Total'列的总和,假设网格按'Inv No'从低到高排序。

这些值似乎没有被特定网格使用,但也许它们会在其他一个实例中使用,这就是它们存在的原因。