jqGrid <-- json --> spring,hibernate之服务器端分页,排序
最近做了一个以jqGrid实现的数据表格,与服务器端(spring + hibernate)以json格式交换数据,分页
和排序都在服务器端实现,现总结如下:
操作页面是这样的:
用户输入查询信息,按“检索”按钮,返回查询结果,表格可以翻页,排序。
当把jqGrid的属性datatype定义为function时,表格需要获取数据时(翻页,排序等),jqGrid就会调用
这个function,通过这种机制,就可以实现服务器端分页、排序。需要注意的是,这个function需要读取
数据并显式地调用addJSONData,addXMLData等去刷新表格,详情可以参看:
http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#function
这个函数有一个参数,关于参数的定义我没有找到,但用firebug之类的工具可以看出包括如下的属性:
_search : (不清楚)
nd : (不清楚)
page : 当前页
rows : 每页记录数
sidx : sort index,排序字段名
sord : sort direction,排序方式:asc, desc
这样一来,我们就可以把这些数据发送到服务器端进行分页和排序。
以下是页面的html代码:
以下是jqGrid初始化的代码:
所以我还为服务器端的返回数据定义了一个类: