使用filterToolbar进行客户端搜索无法首次使用

时间:2015-12-09 20:36:35

标签: jqgrid

我有一个jqGrid,我在其上调用filterToolbar并设置loadonce = true。当我开始搜索时,搜索第一次不起作用。第二次搜索效果很好。 任何的想法? 的jqGrid(' filterToolbar&#39 ;,                 {stringResult:false,                  searchOnEnter:false,enableClear:false,                 beforeSearch:function(){                         presenter.grid.setGridParam({loadonce:" true"});                 },                 afterSearch:function(){                 }});

1 个答案:

答案 0 :(得分:0)

首先,loadonce的值应该是布尔值而不是字符串:(loadonce: true而不是loadonce: "true")。

秒,loadonce仅在处理从服务器加载的数据时使用。如果未设置loadonce: true,则HTML表将填充数据,但服务器会响应,并且不会在本地保存从服务器返回的数据。另一方面,如果loadonce: true,则jqGrid将从服务器返回的数据保存在本地jqGrid选项data中。但我必须重申,jqGrid在处理服务器响应期间仅填充data 。此外,如果datatype"local",则jqGrid会在处理数据结束时将选项loadonce更改为true。因此,所有内容看起来都像本地填充网格:datatype"local"data选项填充数据(所有数据页)。

您当前的代码只是将loadonce选项设置为true。它不会填充data选项,也不会将datatype更改为"local"。而不是jqGrid将继续处理当前的过滤请求,它将把请求发送到服务器。只有在处理完服务器响应(返回过滤数据的请求)之后,jqGrid才会考虑loadonce: true选项,它将填充data并将datatype更改为"local" }。