2010-10-28 21 views
9

Gerçekten GWT'nin çağlar için bir parçası olan GWT Tree widget'ı arasında seçim yapmakta zorlanıyorum; ya da GWT 2.1 tarafından tanıtılan yeni CellTree.GWT 2.1 Ağaç veya CellTree?

Kullanıcıya sunmak istediğim ağaç özellikle büyük değil, ancak yanıt verme konusunda çok endişeliyim.

Ağacın düğümlerindeki veriler düzenlenebilir. Bir düğüme tıklayarak kullanıcı düğümü düzenleme moduna geçirir. Daha basit düğümleri düzenlemek yalnızca bir TextBox veya TextArea gerektirir; Ancak diğerleri CSS aracılığıyla stil kontrolü yapmak istediğim birkaç widget içerecek.

CellTree yaklaşımını çektim çünkü büyük esneklik ve hız sunuyor gibi görünüyor; Ancak, CellTree düzenleme için örnek kod sadece çok basit veri türleri ile ilgilenir: string, date, integer, vb. Daha karmaşık düğüm düzenleme gereksiniminiz olduğunda CellTree'nin uygun olup olmadığını bilmiyorum.

Ne düşünüyorsunuz? CellTree en iyi yaklaşım mı? CellTree genel olarak Tree'nin yerini alıyor mu? Aralarında seçim yaparken hangi buluşsal yöntemleri uygulayabilirim?

cevap

2

Birden fazla pencere öğesi içeren birkaç özel giriş hücresi içeren bir CellTable kullanıyorum. Harika çalışıyor! Karmaşık işlemleri yapabilen özel bir Hücrenin nasıl uygulanacağını anlamak bana birkaç saat sürdü - Hücrenin tek bir örneği, çok sayıda örnek gibi davrandığından, bunun nasıl olduğunu anlamanız gerektiğinden verilerini almak ve yenilendiğinde ve işlendiğinde. DatePickerCell kaynağından çok şey öğrendim.

CellTree için konuşamıyorum, ancak CellTable çok esnektir, programlanması kolaydır ve yüzlerce Widget örneğini kaydeder.

+0

Birden çok parçacık içeren hücre için CompositeCell kullandınız mı? – David

+0

AbstractEditableCell sınıfını genişlettim. 2.1.0.M3'te kullanmaya başladım, çok fazla doktora sahip olmadan önce, bu yüzden CompositeCell istediğiniz şey olabilir. Ayrıca "Düzenleyici" ler de eklediler. –

1

CellTree kullanımı sorunludur. CellTree'de saklanan uygulamayı görüntülemek için iyi erişim olmadığı için. Tüm ebeveyn hücresini tıklayarak, çocuklarla düğümleri açmak için özel işleyicileri yapmada sorun (örneğin benim için: D). Tabii ki kendi oluşturucunuzu yazmanız gereken, AbstractCell tarafından özel hücreler yapabilirsiniz.

Bence bu pencere öğesi değişmeli ve kullanıcılar için daha fazla nesne daha görünür olmalı.

CSS'yi özelleştirme basittir. Yapmanız gereken tek şey, CellTree.resource'ı genişletmek ve celltree.css sınıf adlarına göre kendi css'sini eklemek.