2010-05-10 12 views
5

में पेजिनेशन मैं इस पर आपकी टिप्पणियां और सुझाव चाहूंगा। मैं जेएसएफ में एक पेज के लिए अंकन कर रहा हूँ। डेटाटेबल "बाध्यकारी" विशेषता के माध्यम से बैकिंग बीन संपत्ति से जुड़ा हुआ है। मेरे पास 'प्रीव' और 'नेक्स्ट' बटन प्रस्तुत करना है या नहीं, यह निर्धारित करने के लिए मेरे पास 2 बुलियन वैरिएबल हैं - जो डेटाटेबल के नीचे प्रदर्शित होता है। जब या तो 'पिछला' या 'अगला' बटन क्लिक किया जाता है, बैकिंग बीन में मुझे बाध्य डेटा मिलती है संपत्ति और जिसके माध्यम से मुझे डेटाटेबल की "पहली" और "पंक्तियां" विशेषता मिलती है और तदनुसार बदल जाती है। मैं पेज में 5 पंक्तियां प्रदर्शित करता हूं। कृपया टिप्पणी करें और सुझाव दें कि क्या कोई बेहतर तरीका है। बीटीडब्ल्यू, मुझे किसी भी जेएसएफ घटक पुस्तकालयों में दिलचस्पी नहीं है, लेकिन केवल कोर एचटीएमएल रेंडर किट तक चिपक जाती है।जेएसएफ

public String goNext() 
{ 

    UIData htdbl = getBrowseResultsHTMLDataTable1(); 

    setShowPrev(true); 
    //set Rows "0" or "5" 
    if(getDisplayResults().size() - (htdbl.getFirst() +5)>5) 
    { 
     htdbl.setRows(5);//display 5 rows 
    }else if (getDisplayResults().size() - (htdbl.getFirst() +5)<=5) { 
     htdbl.setRows(0);//display all rows (which are less than 5) 
     setShowNext(false); 
    } 
    //set First 
    htdbl.setFirst(htdbl.getFirst()+5); 
    return "success"; 
} 

public String goPrev() 
{ 

    setShowNext(true); 
    UIData htdbl = getBrowseResultsHTMLDataTable1(); 

    //set First 
    htdbl.setFirst(htdbl.getFirst()-5); 

    if(htdbl.getFirst()==0) 
    { 
     setShowPrev(false); 
    } 

    //set Rows - always display 5 
    htdbl.setRows(5);//display 5 rows 

    return "success"; 
} 

उत्तर

1

टिप्पणी और वहाँ यदि कोई बेहतर तरीके सुझाने करें।

ठीक है, जो जवाब देने के लिए बहुत कुछ नहीं देता है। यदि आप इसके लिए पूछ रहे हैं तो कम से कम "मैं" ऐसा नहीं करेगा। लंबी कहानी लघु: Effective datatable paging and sorting। आपको केवल टॉमहॉक की आवश्यकता है (इसका सामना करें, इसके फायदे हैं)। लेकिन यदि आप जेएसएफ 1 + जेएसपी की बजाय जेएसएफ 2 + फेसलेट्स पर हैं, तो आप वास्तव में ui:repeat और @ViewScoped का उपयोग t:dataList और t:saveState के बजाय भी कर सकते हैं।