【问题标题】:jqGrid: Is there an event for grid complete and no rows?jqGrid:是否有网格完成且没有行的事件?
【发布时间】:2014-10-27 12:27:01
【问题描述】:

在我拥有的给定网页中,有两个网格:一个从服务器获取数据,另一个等待基于第一个网格的行单击来填充。这个想法是:用户从一个网格中选择记录,然后将选定的行添加到另一个表中。

我的目标是在网格没有记录时显示一条消息。问题是“gridComplete”和“loadComplete”事件只有在网格实际上有数据要显示时才会被触发。

有解决办法吗?我该如何处理这种情况?

最好的问候。

【问题讨论】:

    标签: javascript jquery jqgrid


    【解决方案1】:

    如果服务器返回空结果,loadCompletegridComplete 都将被调用事件。如果它没有发生在您的网格中,那么从服务器返回的结果可能是错误的。我建议您在网格中包含loadError 回调来验证这一点。有关loadError 的更多详细信息,请参阅the answer。在您解决问题后,我建议您使用loadComplete 来显示您需要的消息。查看为the answer 创建的the demo。它演示了如何显示此类消息的选项。

    【讨论】:

    • 感谢您的帮助。也许我不够清楚:空网格没有收到任何服务器响应:它是故意为空的。我将data: [] 传递给它,因此它可以在没有任何记录的情况下呈现。在这种情况下,这些事件永远不会被触发。我需要一些方法来确定表何时为空,并将 JSON 数据传递给 jqGrid 的数据选项。
    • @darksoulsong:不客气!即使您使用datatype: "local", data: [](就像我在回答中引用的the old demo),loadCompletegridComplete 的两个回调都会被调用。最好提供一个演示(例如在 jsfiddle 中)来演示您的问题。
    • 我有同样的问题,我有数据类型:'json',服务器返回 {},但 jqGrid 不会触发以下任何一个:loadError、gridGomplete 或 loadComplete。我正在使用免费的 jqGrid 4.13.4(我想解决水平滚动的问题 - 当我使用内联过滤器并且没有结果时,滚动会自动向左滚动)
    • @bakus33:我无法重现您的问题。回调beforeProcessingloadCompletegridComplete 和所有其他在我的测试中使用免费的 jqGrid 4.13.4 和免费的 jqGrid 4.13.5 调用。可能您应该打开新问题并分享重现问题的演示。我建议您一般使用 4.13.5,但它与您遇到的问题无关。
    • @bakus33:我提交了the changes,这应该可以解决我们两周前讨论的问题。例如,您可以使用RawGit 测试最新代码。感谢您的讨论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    相关资源
    最近更新 更多