2011-12-27 96 views
0

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

这是可能的吗?

+1

请添加更多的细节和想要完成的内容,以便更多的用户可以为您的问题提供合适的答案。 – 2011-12-27 07:30:18

+0

或者优化你的“计算提取和各种php善良...”,以便减少你似乎遇到的加载时间问题。 – 2011-12-27 07:35:25

回答

0

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

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

+0

谢谢你的回应... - 我会检查你所建议的addXmlData .. – hananyariv 2012-01-18 03:16:21