2010-05-22 25 views
6

Çok sayıda veri tablosuyla birçok projede çalıştım. Tablolar, sunucu tarafında sıraya koyma, filtreleme ve sıraya koyma ve db yardımı ile (tüm veritabanları sıralama, filtreleme, geri döndürülen sonuçları sınırlandırdı).jsf tembel yükleme, filtreleme ve sıralama ile verilebilir

Gerçek uygulamada çalışırken, binlerce hatta bir milyonlarca satır vardır.

Ancak birkaç JSF veritabaka bileşenini gördüm.
İstemci tarafında sayfalandırma, sıralama ve filtreleme uygular! Bana göre bu çok aptalca. Bu teknoloji kurumsal olarak adlandırılır ve veriyi istemci tarafında java script ile sıralarlar!

Sunucu tarafında sıralama, filtreleme ve tembel yükleme için özelliklere sahip, iyi bir JSF veri ızgarası görmedim.

Neden? Yanlış yöne bakıyorum ya da gerçekten bunun için bir destek desteği yok. Son zamanlarda, ilk aşamaları ve tembel yükleme verisini test ediyorum. Gerçekten iyi çalışıyor, ama masa sadece tembel yükü. Sıralama ve filtre eklerseniz, sorunlar başlar.

Sonuç: Tembel yükleme sayfalandırma işlemini gerçekleştirebilen ve sunucu tarafında filtreleme ve sıralama yapabilen herhangi bir JSF bileşeni var mı? İstemci tarafında sıralama ve filtreleme yapan ekipler sayesinde kendi çözümümüzü uygulamak zorunda kalırsam, faydasızdırlar.

+0

uygun bir şekilde tüm yöntemleri uygulamak zorunda kalacak? –

+0

@darpet: Bunun için iyi bir çözüm buldunuz mu? – user590586

+1

Primefaces Etkin tembel yükleme ile Datatable bugünün cevabı :-) –

cevap

5

Hayır, yok. Çünkü bileşen kütüphanesi, kalıcı mekanizmanın ne olacağını bilemez. Ancak, birçok veri tablosu bunu sunmak için seçenekler sunar. Örneğin, richfaces'in veritabamı DataModel olarak adlandırılır. Örneğin ne yaptığını oldu:

public class CustomDataProvider implements DataProvider<ClassToShow>, 
     Sortable2, Filterable { .. } 


public class PagingExtendedTableDataModel<T> extends ExtendedDataModel implements 
     Serializable, Modifiable { 

    private DataProvider dataProvider; 
    private Object rowKey; 
    private List wrappedKeys; 
    private Map wrappedData; 
    private Integer rowCount; 
    private Integer rowIndex; 
    private List<FilterField> filterFields; 
    private List<SortField2> sortFields; 

    public PagingExtendedTableDataModel(DataProvider<T> dataProvider) { .. } 

} 

Sen Hiç tembel yükleme ile sıralanabilir tabloları oluşturmaya iyi bir yol bulmak mı ısrarcılığınız mekanizmasını