当没有要查看的记录时,jqGrid不显示“没有要查看的记录”消息

时间:2012-01-18 15:25:46

标签: drupal jqgrid

当没有要查看的记录时,我遇到了jqGrid没有显示“没有要查看的记录”消息的问题。我在我的应用程序中广泛使用了jqGrid,具有可变行数选择,分页和过滤。最初加载表时,它们会正确显示页数,以及“查看1-10 of 50”类型的rowcount消息。如果然后将过滤器应用于表,则表中的数据会正确更新(使用PHP生成的JSON数据源),并且页面和行计数消息会正确更新。

唯一的问题是当应用过滤器时根本不返回任何行 - 当发生这种情况时,页面计数和行数消息仍保持设置为先前的值。

我已经检查了我正在为空数据集返回的JSON,并且当没有数据时它匹配来自jqGrid演示站点的JSON:

{"page":0,"total":0,"records":"0"}

我在http://www.analyticsseo.com/test发布了一个示例。知道我做错了吗?

1 个答案:

答案 0 :(得分:1)

我不建议你现在这样老版本的jqGrid就像3.8一样。您是服务器响应的主要问题

{"page":0,"total":0,"records":"0"}
如果服务器生成

,则可以修复

{"page":0,"total":0,"records":"0","rows":[]}

代替。像许多其他错误一样的bug现在在jqGrid中得到修复。有许多新功能和性能改进。

顺便说一下,您的服务器部分在使用JSON数据的响应中使用了错误的Content-Type标头。正确的Content-Typeapplication/json,但您的服务器目前使用的是text/html; charset=utf-8。您可以在Drupal 6中使用common.inc语句drupal_set_header('Content-Type: application/json');来解决问题。完成此类更改后,您将能够使用更新版本的jQuery。

the answer中,您可以找到对the link的引用,其中介绍了如何将jQuery升级到新版本。