2011-06-09 151 views
1
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 }); 
+1

可能想要包括实际发生的事情以及您期待发生的事情...... – 2011-06-09 19:36:33

回答

3

您的问题的原因很可能是您误解了filterToolbar方法在您使用的datatype: 'json'的情况下如何工作。该方法只需在postData中设置附加参数并启动网格刷新。来自搜索工具栏的信息将被发送到服务器,并且服务器负责数据过滤。如果写入filterToolbar不起作用,那么服务器代码只会忽略过滤器信息。

如果您希望数据过滤,分页和排序将由客户端(jqGrid本身)完成,您可以考虑使用jqGrid的loadonce:true参数。在这种情况下,服务器应该不发送第一页数据,而是发送整个网格数据。在第一次加载数据之后,jqGrid会将datatype: 'json'更改为datatype: 'local',稍后jqGrid将对数据进行本地排序,分页和过滤。

+0

这对我来说确实有窍门。谢谢。 – Joseph 2011-07-15 19:11:22