2012-02-21 16 views
5

पंक्ति को कैप्चर करने की आवश्यकता डेटा की चयन करें चेकबॉक्स आधारित पंक्ति चयन होने योग्य। कोड इस प्रकार है:पंक्ति चयन घटना - प्राइमफेस - डेटाटेबल

<p:ajax event="rowSelect" listener="#{articleBean.onRowSelect}" 
        oncomplete="articleBean.onSelection" /> 
<p:ajax event="rowUnselect" listener="#{articleBean.onRowUnselect}" 
        oncomplete="articleBean.onSelection" /> 
<p:column id="name" headerText="Select" selectionMode="multiple" 
        style="width:18px" /> 

मैं व्यवहार को समझने में असमर्थ हूँ। जब मैं पहली बार चेकबॉक्स पर क्लिक करता हूं, तो "onRowSelect" विधि को कॉल किया जा रहा है। जब मैं अचयनित करता हूं, "onRowUnselect" को कॉल नहीं किया जा रहा है। और साथ ही, "onRowSelect" विधि को केवल ग्रिड के लिए बुलाया जाता है, जैसा कि, यदि मैं किसी अन्य चेकबॉक्स पर क्लिक करता हूं, तो ईवेंट ट्रिगर नहीं हो रहा है। क्या मैं कुछ खो रहा हूँ? इस व्यवहार को समझने में सक्षम नहीं है।

धन्यवाद, शिखा

+0

यह काम करता है अगर आप को ताज़ा पहले चयन के बाद पृष्ठ? –

+0

@ मैट हां, यह ताज़ा होने के बाद पहले चयन के लिए काम करता है। –

+0

मुझे आपके 'p: AJAX' में कोई अपडेट कमांड नहीं दिखाई देता है। तो केवल वर्तमान तत्व अद्यतन किया जाएगा। यदि आप अपने मामले में यह संभव है तो आप 'update =" @ form "सेट करने का प्रयास कर सकते हैं। –

उत्तर

14

आप चेकबॉक्स आधारित पंक्ति चयन के साथ DataTable उपयोग कर रहे हैं तो आप बदलना चाहिए:

<p:ajax event="rowSelect" 
<p:ajax event="rowUnselect" 

निम्नलिखित के साथ:

<p:ajax event="rowSelectCheckbox" 
<p:ajax event="rowUnselectCheckbox" 
+0

क्या डेटा में चेकबॉक्स के माध्यम से "सभी का चयन करें" के लिए कोई ईवेंट भी है? इन 'पंक्ति चयन चयन बॉक्स' और 'rowUnselectCheckbox' घटनाएं इस मामले में काम नहीं करती हैं। – Micer

+5

ठीक है ईवेंट 'टॉगल चयन करें' (जब हेडर चेकबॉक्स टॉगल किया जाता है।) – Micer

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