当没有要查看的记录时,我遇到了jqGrid没有显示“没有要查看的记录”消息的问题。我在我的应用程序中广泛使用了jqGrid,具有可变行数选择,分页和过滤。最初加载表时,它们会正确显示页数,以及“查看1-10 of 50”类型的rowcount消息。如果然后将过滤器应用于表,则表中的数据会正确更新(使用PHP生成的JSON数据源),并且页面和行计数消息会正确更新。
唯一的问题是当应用过滤器时根本不返回任何行 - 当发生这种情况时,页面计数和行数消息仍保持设置为先前的值。
我已经检查了我正在为空数据集返回的JSON,并且当没有数据时它匹配来自jqGrid演示站点的JSON:
{"page":0,"total":0,"records":"0"}
我在http://www.analyticsseo.com/test发布了一个示例。知道我做错了吗?
答案 0 :(得分:1)
我不建议你现在这样老版本的jqGrid就像3.8一样。您是服务器响应的主要问题
{"page":0,"total":0,"records":"0"}
如果服务器生成,则可以修复
{"page":0,"total":0,"records":"0","rows":[]}
代替。像许多其他错误一样的bug现在在jqGrid中得到修复。有许多新功能和性能改进。
顺便说一下,您的服务器部分在使用JSON数据的响应中使用了错误的Content-Type
标头。正确的Content-Type
为application/json
,但您的服务器目前使用的是text/html; charset=utf-8
。您可以在Drupal 6中使用common.inc语句drupal_set_header('Content-Type: application/json');
来解决问题。完成此类更改后,您将能够使用更新版本的jQuery。
在the answer中,您可以找到对the link的引用,其中介绍了如何将jQuery升级到新版本。