2011-06-08 61 views
2

我有一個相當大的樹形網格的客戶端(總樹大小爲3000,但一個節點有1500個子節點)。它是一個鄰接模型樹,我只加載需要的數據(當我展開每個節點時Ajax調用)。提高JQGrid樹網格性能

性能是擴大大的節點,但每當我崩潰的大節點我得到一個警告,指出如果沒有許多孩子甚至節點偉大:

Stop running this script? 

A Script on this page is causing your web browser to run slowly. If it continues to run, your computer might become unresponsive. 

它不是檢索是數據慢,但是是樹的客戶端操縱。

1)我可以應用哪些設置來提高性能?我試過gridview = true,但我認爲這對樹格沒有任何影響。

2)rowNum是否對樹形網格有影響?

3)我使用v3.7.2 - 將升級到v4有什麼區別?

4)如果我無法順利運行,可以推薦另一個樹形網格嗎?我使用的jqGrid在整個我們的應用非常成功,將是一個可悲的大熊貓,如果我必須找到另一種解決:(

乾杯!

回答

3

首先你應該從升級版本3.7.2到版本4.0.0。在4.0版本的jqGrid中,樹形網格發生了變化,支持gridview:true這對於大量行/節點的情況非常重要。

如果升級後的性能仍然不夠,應該發佈完整的網格定義併發布可以下載測試JSON/XML數據的URL,然後可以調試該問題, e建議。

+0

感謝Oleg - 做了2件事情來提高性能:升級到版本4並且使用了gridview:true,並且原始行在網格數據中用javascript返回(打開選定行的彈出窗口),所以我將這些數據移出網格 – woggles 2011-06-08 20:07:31

+0

@ woggles:不客氣! – Oleg 2011-06-08 21:07:06

+0

今天早上我再次重溫性能問題。給我的問題節點有大約700條記錄(節點的JSON數據:http://pastebin.com/XrMxuiFR)。請注意,我們有ID的GUID。 Chrome的性能很好,但IE仍然出現錯誤(可以通過修改註冊表設置http://support.microsoft.com/kb/175500來刪除錯誤)。有沒有可能去掉不需要的樣式來提高性能?謝謝 – woggles 2011-12-28 12:02:27

1

嘗試僅使用那些適用於該網格的鏈接和樣式表。不必要的鏈接和樣式表會影響性能,並可能是衝突的原因。這將增加文件加載的時間以及影響帶寬。