2010-10-28 102 views
9

我真的很在GWT樹部件之間做出選擇,GWT樹部件已經成爲GWT的一部分,或由GWT 2.1引入的新CellTree。GWT 2.1樹或CellTree?

我想呈現給用戶的樹不是特別大,但我非常關心響應性。

樹的節點處的數據將是可編輯的。通過點擊節點,用戶將把節點置於編輯模式。編輯更簡單的節點只需要一個TextBox或TextArea;但其他人會涉及幾個小部件,我希望通過CSS控制樣式控制。

我被CellTree方法吸引,因爲它似乎提供了很大的靈活性和速度;然而,CellTree編輯的示例代碼只處理非常簡單的數據類型:字符串,日期,整數等。我不知道CellTree是否適合您有更復雜的節點編輯需求。

您認爲如何? CellTree是最好的方法嗎?一般來說,CellTree會替換Tree嗎?我可以在他們之間進行選擇時應用什麼啓發法?

回答

2

我正在使用CellTable和幾個自定義輸入單元格,其中包括一個由許多小部件組成的單元格。它很棒!

我花了幾個小時瞭解如何實現可以執行復雜操作的自定義Cell - 因爲Cell的單個實例會繞過CellTree,假裝有很多實例,您需要了解它是如何實現的獲取其數據以及何時刷新和呈現。我從DatePickerCell的源頭瞭解了很多。

我不能說CellTree,但CellTable非常靈活,編程容易,並且節省了數百個Widget實例。

+0

您是否將CompositeCell用於具有多個小部件的單元格? – David 2010-10-28 19:43:46

+0

我擴展了AbstractEditableCell類。我開始在2.1.0.M3中使用它,然後他們有很多文檔,所以可能是CompositeCell是你想要的。我還看到他們添加了「編輯」,看起來很整潔。 – 2010-10-28 21:31:13

1

使用CellTree是有問題的。因爲它無法訪問存儲在CellTree中的實現。它導致問題(例如:對於我來說:D)通過單擊整個父單元格來創建自定義處理程序以打開具有子節點的節點。當然,您可以通過AbstractCell製作自定義單元格,您必須在其中編寫自己的渲染器。

我認爲這個小部件必須加強,更多的對象對用戶來說必須更明顯。

定製CSS很簡單。所有你需要做的就是擴展CellTree.resource並根據celltree.css類名插入自己的css。