2011-04-18 103 views
0

在向服务器发送请求之前,有无论如何验证搜索字段(我正在使用自定义搜索)吗?在行编辑和添加模式下,验证工作正常。假设我想搜索列价格,并且当用户在搜索字段中输入文本时应该发生错误消息。 如果搜索没有返回任何数据,我想在屏幕上发布消息。我在搜索功能中看不到可以获得服务器响应的事件。 onClose事件发生在搜索框关闭时,但我不知道如何从中获取服务器响应?JQGrid,搜索相关问题

另一个问题,我试过使用gridResize,但它不工作,一切工作正常,我看到在右下角没有调整大小的图标。请大家看看下面我的代码:

的jQuery( “#清单”)的jqGrid( 'gridResize',{minWidth:350,maxWidth:800了minHeight:80, maxHeight:350})。

回答

0

关于自定义搜索验证的问题的部分似乎是相同的,我回答here。答案包括the demo,其中包含'客户'字段的验证。

如何看到,自定义搜索在jqGrid的4.0.0版本中的grid.addons.js模块中移动,因此它可以在jqGrid的某些更高版本中删除。

服务器没有特殊的搜索请求。只存在填充网格的标准请求,其中_search参数(对应于jqGrid的search参数)设置为true,其他一些参数如filters描述了过滤条件。因此,您可以使用jqGrid的emptyrecords参数(请参阅here)。你可以按照the demo(见the answer)在网格体内显示消息。你的问题gridResize接缝我很容易。我想,你要么没有包含jQuery UI JavaScript(包括CSS仅仅是不够的),要么你把gridResize的调用放在错误的地方。您没有发布JavaScript代码和HTML代码,可以显示您已加载哪些JavaScript文件以及以何种顺序。所以我不能更确切地回答。

+0

嗨奥列格,thx快速反应。我做的测试用例如下:我加载网格中的一些行,然后我执行搜索,将导致从数据库没有数据,我得到错误消息在Firefox中“找不到元素”,我的网格仍然留在相同。但是当我的研究返回一些数据时,这些数据将取代网格中的现有数据。我想这就是为什么当搜索没有返回任何数据时,我没有收到emptyrecords消息。我现在应该怎么做? – vuvan01 2011-04-18 10:29:35

+0

嗨,我发现解决方案我自己,在服务器端,我应该返回所需的数据由jqgrid显示emptyrecords,之前我刚从服务器返回null。无论如何,非常感谢您使用空记录的提示。关于搜索验证,我虽然在JQGrid中有内置验证,但它不是,可能是我只是在等待JQGrid的内置函数 – vuvan01 2011-04-18 10:59:06

+0

@ vuvan01:不客气!我不知道有一些计划将搜索验证包含在jqGrid中,所以如果你需要它,你将不得不自己实现它。搜索的验证不能像其他验证一样工作。例如,如果对列进行“包含”或“从头开始”搜索操作,并且对于包含所有字符串的列,则必须至少包含5个字符,例如,您应该允许在搜索字段中输入少于5个字符。因此,在编辑过程中,搜索验证实际上是其他功能您可以尝试使用http://docs.jquery.com/Plugins/validation。 – Oleg 2011-04-19 06:46:48