2013-08-19 8 views
8

मैं प्राइमफ़ेस डेटाटेबल के फ़िल्टर, सॉर्ट और पेजिंग स्थिति को रीसेट करना चाहता हूं। दुर्भाग्यवश, ऐसा करने का कोई आसान तरीका नहीं है। विशेष रूप से सॉर्ट स्टेटस को रीसेट करना मुश्किल है।प्राइमफ़ेस डेटाटेबल स्थिति रीसेट करें (फ़िल्टर, सॉर्टिंग, पेजिंग)

क्या मैं अब तक क्या किया है:

DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent(componentId); 
if (dataTable != null) { 
    dataTable.setSortOrder("ascending"); // reset sortOrder 
    dataTable.setFirst(0);    // reset page 
    dataTable.setFilteredValue(null);  // reset filter 
    dataTable.setFilters(null); 
} 

मैं PrimeFaces 3.4.1 का उपयोग कर रहा हूँ।

उत्तर

5

अंत में, मैं टैब ColumnsView.java पर समाधान, इस नमूने http://www.primefaces.org/showcase/ui/data/datatable/columns.xhtml में छिपा हुआ पाया: PrimeFaces

table.setValueExpression("sortBy", null); 
+0

मुझे लगता है कि पुष्टि कर सकते हैं Primefaces साथ 5.3 dataTable.setValueExpression ("sortBy", नल) और dataTable.setSortBy (शून्य) आशा है कि; साथ में डेटाटेबल में परिणामस्वरूप कॉलम हेडर में कोई सॉर्टिंग नहीं है। – alfonx

3
dataTable.setSortBy(null); 

मैं उपयोग कर रहा हूँ 4.0

+0

मैं पुष्टि कर सकता हूं कि प्राइमफ़ेस 5.3 डेटाटेबल.सेटवैल्यूएक्सप्रेस ("सॉर्टबी", नल) और डेटाटेबल.सेटसोर्टबी (शून्य); साथ में डेटाटेबल में परिणामस्वरूप कॉलम हेडर में कोई सॉर्टिंग नहीं है। - alfonx अभी संपादित करें – alfonx

0

सबसे पहले मैं दूसरे में के रूप में तरह स्थिति को रीसेट उत्तर:

dataTable.setSortBy(null); 

हालांकि, इसने प्रदर्शित कोड को रीसेट नहीं किया मेरे लिए टेबल यह अभी भी पहले फ़िल्टर किए गए परिणामों को प्रदर्शित कर रहा था क्योंकि मैंने दृश्यमान बीन में एक क्षेत्र में अपने डेटाटेबल पर filteredValue विशेषता सेट की थी। मैंने filteredValue फ़ील्ड को value फ़ील्ड में सेट करके उस समस्या को ठीक किया है, जो मौजूदा फ़िल्टर किए गए परिणामों को पूर्ण डेटा सेट पर सेट करता है।

-2
private DataTable filtervalue; 
getter and setter of filtervalue .......... 
call resetValue(); method on datatable 
as filtervalue.resetValue(); 

यह काम करता है

+1

यह एवर पहले से ही प्रश्न में जो कुछ है (तुलनात्मक रूप से है) की तुलना में सुधार कैसे है .... और कृपया 'असली' कोड पोस्ट करें .. – Kukeltje

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