JSON和jqGrid。 什么是“userdata”?
我无法理解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中的一件事就是这个snipplet:
"userdata":{"amount":1520,"tax":202,"total":1724,"name":"Totals:"}
这究竟是做什么的?
这很容易解释。 服务器生成将用于填充网格的数据。 可以分页数据。 所以在发送到服务器的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”角色(参见http://www.trirand.com/blog/jqgrid/jqgrid.html下的“版本3.5“中的新function,”摘要页脚行“示例)。 现在你可以看到,示例中的url完全相同:“server.php?q = 2”。 因此,在第一个示例中,将不使用userdata
,但它将在“Summary Footer Row”示例中使用。
这似乎是第二个分页页面上的’Amount”Tax’和’Total’列的总和,假设网格按’Inv No’从低到高排序。
这些值似乎没有被特定网格使用,但也许它们被用在其他一个实例中,这就是它们存在的原因。