2010-09-09 50 views
0

我有一段時間試圖讓Dojo grids(1.5)發揮出色。具體來說,我花了大約兩週的時間嘗試實現一個網格,該網格允許我們的結果集數據摺疊成行,這些行可以擴展。數據以JSON格式作爲完整集,使用ItemFileReadStore作爲商店。任何後續的排序或分頁都是通過從應用程序中獲取新的json,並在url中傳遞新的查詢參數來處理的。Dojo datagrid和treegrid的幫助 - datagrid有一個重新格式化的Flash?

嵌套數據只有兩層深 - 總是顯示頂層,以及頂層具有相同結構的子數據數組。每個節點都有一個唯一的ID和一個集羣ID - 在父節點上,唯一的ID和集羣ID將匹配。

我最初對TreeGrid非常興奮 - 但我看不出我如何格式化它來完成我所需要的操作 - 即消除'彙總行'和一行滿了空單元格(?)的額外行我只是想不出如何刪除,除非我只將查詢集中到一個集羣。我研究了測試示例,自己編寫了很多測試頁面,試圖瞭解forestModel,這對我所知道的是沒有必要的......我發現了很少的文檔,並且我在網上找到的消息來源暗示說TreeGrid可能不可靠。

所以我決定嘗試在dataGrid中實現expandable/collapsible行。

我展開了JSON數據並添加了另一個屬性來指示是頂級節點('alwaysShow'= true)。我構建了我的網格程序並應用了grid.filter()來只拉取那些頂級節點。我通過擴展ItemFileReadStore _FetchItems「filter」方法來修改該過濾器,以允許使用OR查詢而不是AND,並修改它以允許鍵指向數組 - 當頂級節點(單元格中的小+/-圖標)單擊時,父節點的集羣ID將添加到grid.filter.allowed []中並更新過濾器,從而允許顯示具有該cluster_id值的節點。

這對我的五個記錄的小測試集很正常(雖然id說有點slu ... ......)但是現在我從應用程序中拉回〜900行,並且擴展大型集羣(〜80行)我在濾鏡更新上看到了很長的藍白閃光。我花了大部分時間試圖在螢火蟲中找到它發生的地方,但道場邏輯如此分散。似乎在調用_Grid.js defaultUpdate之前發生。

它非常糟糕,我正在考慮再次嘗試使用TreeGrid。我也在考慮只是用手做這件事......我開始花費這麼多時間試圖讓Dojo開始工作。如果有人有任何建議,我還會考慮商業的「JSON->可摺疊行」表格...

任何建議或見解?熟悉閃爍的問題,或者我可以如何使TreeGrid適應我的需求?我知道這有點咆哮......非常感謝任何幫助。
-robbie

編輯:我最終放棄了試圖讓Dojo做我需要的東西,並在不到一天的時間內自己編碼。沒有最好使用三個星期......

回答

0

編輯: 我剛剛發現我工作的解決方案,我已經添加了下面的CSS: .dojoxGridSummaryRow { 能見度:崩潰 } 基本上是總結可能仍然創建,但它們在表格佈局中不可見或不被考慮。這對我很好。希望這能解決你的問題。

這將不利於但只是爲了讓你知道:

「 - 但我看不出我怎麼能格式化它做什麼,我需要 - 即消除‘摘要行’」

是我試圖實現,並沒有找到解決辦法,即使這看起來像一個非常簡單的功能非常精確的同樣的事情......將讓你知道,如果我找到了解決辦法...

+0

嘿好呼叫!我應該考慮嘗試調整CSS。 – Robbie 2010-09-28 16:57:17