使用JQgrid加载实时数据

时间:2011-12-27 04:28:16

标签: php jqgrid live

我有一个使用JQgrid通过XML加载大量数据的系统。 真正的性能问题是每一行都已经在php上处理了很长时间(计算提取和各种PHP善良......)所以我想知道它是否有可能获得每个处理的行LIVE - 意味着总量网格负载是相同的,但用户体验更好,因为他会看到网格慢慢填写..

这可能吗?

1 个答案:

答案 0 :(得分:0)

我会通过更改网格加载方法来实现此目的。而不是使用获取数据的简单方法(通过url:'myXMLData.php'参数直接在网格中访问它),而是通过调用addXmlData手动填充网格。

基本上,该过程将使用空值初始化网格,然后启动对服务器的请求以开始构建响应。此请求将立即返回,传递对将随时间建立的XML位置的引用。此外,此初始请求将在服务器上分配后台任务,该任务将实际执行处理和XML构造到临时缓存位置(将其构建在作为引用返回的相同位置)。在浏览器端,保存该引用,并定期轮询以检查新的XML数据(使用jQuery Ajax方法)。在获得每个轮询的响应后,使用我上面链接的addXmlData()方法将jqGrid加载到当前数据集。当服务器的响应包含您期望的所有行时,轮询可以停止。您还需要定期运行的服务器上的任务来清理XML缓存。