jQuery("#grid").jqGrid({
url:'admin/name.php',
postData: {userid: user_id},
datatype: 'json',
mtype: 'POST',
height: "auto",
width: 'auto',
rowNum: 20,
rowList: [10,20,30],
colNames:[' name','Job ',' Term','Date'],
colModel :[
{name:'name', index:'name', width:100},
{name:'Job', index:'Job', width:150},
{name:'Term', index:'Term', width:70},
{name:'Date', index:'Date', width:100},
],
pager: "#p_grid",
viewrecords: true,
toolbar: [true, 'both'],
caption: "grid",
});
$("#grid").jqGrid('navGrid','#p_grid',{edit:true,add:true,del:true,search:true,refresh:true});
jQuery("#grid").filterToolbar({ searchOnEnter: false });
答案 0 :(得分:3)
您的问题的原因可能是误解了filterToolbar方法在您使用datatype: 'json'
的情况下的工作方式。该方法只需在postData
中设置其他参数并启动网格刷新。搜索工具栏中的信息将发送到服务器,服务器负责数据过滤。如果你写filterToolbar不起作用,服务器代码就会忽略过滤器信息。
如果您希望客户端(jqGrid本身)完成数据过滤,分页和排序,您可以考虑使用jqGrid的loadonce:true
参数。在服务器应该发回的情况下,不是第一页数据,而是整个网格数据。加载第一个数据后,jqGrid会将datatype: 'json'
更改为datatype: 'local'
,之后jqGrid将在本地对数据进行排序,分页和过滤。