2010-06-27 71 views
3

我無法理解JQGrid的JSON數據源中的所有字段的含義,而且我也沒有在任何地方看到它的任何文檔。JSON和jqGrid。什麼是「userdata」?

我想了解的例子是這樣的: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:"} 

究竟這是什麼做的?

回答

7

這很容易解釋。服務器產生將用於填充網格的數據。數據可以分頁。所以在發送到服務器的URL中,我們可以找到rows=10&page=2,這意味着「當頁面大小爲10行時,給我第二頁數據」。這些附加參數將被添加到定義爲jqGrid參數之一的主url「server.php?q = 2」中。服務器返回10行或更少的行。在http://www.trirand.com/blog/jqgrid/server.php?q=2&rows=10&page=2網址的情況下,服務器還給只有最後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:"} 
} 

現在關於你的主要問題:什麼是「用戶數據」?存在一種舊的方式,將主服務器的附加信息與主數據一起發送到客戶端。它可以是完全免費的數據。從服務器接收到的所有數據將由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中添加一個額外的最後一行,它可以播放「彙總頁腳行」角色(請參見http://www.trirand.com/blog/jqgrid/jqgrid.html下的「3.5版本的新增內容」「彙總頁腳行」示例)。現在您可以看到,示例中的url完全相同:「server.php?q = 2」。因此,在第一個示例中,userdata不會被使用,但它將用於「摘要頁腳行」示例中。

1

這似乎是第二個分頁頁面上'Amount''Tax'和'Total'列的總和,假設網格按'Inv No'從低到高排序。

這些值似乎沒有被特定的網格使用,但也許它們被用於其他活的例子之一,這就是爲什麼他們在那裏。