2010-05-22 17 views
6

के साथ जेएसएफ डेटाटेबल मैंने कई डेटा टेबलों के साथ कई परियोजनाओं पर काम किया है। तालिकाएं सर्वर की तरफ सॉर्टिंग, फ़िल्टरिंग और पेजिंग की थीं और डीबी की सहायता से (सभी डेटाबेस ने सॉर्टिंग, फ़िल्टरिंग-कहीं और लौटाए गए परिणामों को सीमित कर दिया है)।आलसी लोडिंग, फ़िल्टरिंग और सॉर्टिंग

वास्तविक एप्लिकेशन पर काम करने पर हजारों पंक्तियां भी हैं।

लेकिन मैंने कई जेएसएफ डेटाटेबल घटकों को देखा है।
वे क्लाइंट साइड पर पेजिनेशन, सॉर्टिंग और फ़िल्टरिंग लागू करते हैं! मेरे अनुसार यह बहुत मूर्ख है। इस तकनीक को एंटरप्राइज़ कहा जाता है और वे जावा स्क्रिप्ट के साथ क्लाइंट साइड पर डेटा सॉर्ट करते हैं!

मैंने कोई अच्छा जेएसएफ डेटा ग्रिड नहीं देखा है जो सर्वर पक्ष पर सॉर्टिंग, फ़िल्टरिंग और आलसी लोडिंग के लिए सुविधाओं में निर्मित है।

वह क्यों है? क्या मैं गलत दिशा में देख रहा हूं या वास्तव में इसके लिए कोई समर्थन नहीं कर रहा हूं। हाल ही में मैं प्राइमफेस और आलसी लोडिंग डेटाटेबल का परीक्षण कर रहा हूं। यह वास्तव में ठीक काम करता है, लेकिन तालिका मैं केवल आलसी लोड कर सकते हैं। यदि आप सॉर्ट और फ़िल्टर जोड़ते हैं, तो समस्याएं शुरू होती हैं।

निष्कर्ष: क्या आलसी लोड पेजिनेशन करने और सर्वर पक्ष पर फ़िल्टरिंग और सॉर्टिंग करने से कोई डेटाटेबल जेएसएफ घटक है? यदि मुझे क्लाइंट साइड सॉर्टिंग और फ़िल्टरिंग करने वाली टीमों के लिए अपना स्वयं का समाधान लागू करने की आवश्यकता है, तो वे बेकार हैं।

+0

में सभी तरीकों को लागू करना होगा? –

+0

@ दार्पेट: क्या आपको इसके लिए अच्छा समाधान मिला? – user590586

+1

प्राइमफेस सक्षम आलसी लोडिंग के साथ डेटाटेबल आज का जवाब है :-) –

उत्तर

5

नहीं, ऐसा नहीं है। क्योंकि घटक पुस्तकालय नहीं जानता कि दृढ़ता तंत्र क्या होगा।

हालांकि, कई डेटा टेबल इसे प्रस्तुत करने के लिए विकल्प प्रदान करते हैं। उदाहरण के लिए richfaces के डेटाटेबल में तथाकथित DataModel है। उदाहरण के लिए हम क्या किया था:

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) { .. } 

} 

आप एक तरीका है कि आप कभी भी आलसी लोड हो रहा है के साथ sortable टेबल के निर्माण के लिए एक अच्छा तरीका मिला जो आपके हठ तंत्र

संबंधित मुद्दे