2013-02-28 7 views
7

मेरी प्रोजेक्ट में, मैं <p:column selectionMode="multiple" /> के साथ डेटाटेबल का उपयोग करता हूं ताकि प्रविष्टियों को चेकबॉक्स का उपयोग करके एकाधिक चुना जा सके।चेकबॉक्स चयन के साथ प्राइमफेस डेटाटेबल केवल

हालांकि, जब उपयोगकर्ता एक पंक्ति पर क्लिक करता है, तो सभी पिछले चयन को अचयनित किया जाता है और केवल वह पंक्ति चयनित होती है। यह व्यवहार अप्रत्याशित और परेशान है। मैं पंक्ति चयन और पंक्ति के व्यवहार को अक्षम करना चाहता हूं पंक्ति क्लिक पर चयन रद्द करें, लेकिन ऐसा लगता है कि मेरे पास ऐसा करने का कोई तरीका नहीं था लेकिन datatable.js के स्रोत को हैक कर रहा था।

क्या कोई इसे पहले लागू करता है? जवाब के लिए धन्यवाद।

का उपयोग करना: जब आप एक पंक्ति पर क्लिक करें

primefaces 3.5

mojarra 2.1.6

glassfish 3.1.2.2

+2

अपना कोड प्रदान करें। ताकि हम उसमें त्रुटि या तार्किक गलती पा सकें। –

+1

यहां उसका कोड महत्वपूर्ण नहीं है क्योंकि [शोकेस स्वयं] में एक ही समस्या हो रही है (http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf)। ऐसा लगता है कि केवल चेकबॉक्स के साथ ही रेडियो बटन के साथ नहीं। मैं ओपी का भी वही व्यवहार प्राप्त करना चाहता हूं। किसी ने हल किया है? –

उत्तर

11

इस feature request के अनुसार, यह सुविधा अब Primefaces संस्करणों 5.0.3 & 5,1 में बस datatable को rowSelectMode = "checkbox" जोड़ने द्वारा समर्थित है।

प्रलेखन संदर्भ (पीएफ 5.1):

उपयोग rowSelectMode विकल्प पंक्ति पर एक से अधिक चयन datatable सक्षम की क्लिक डिफ़ॉल्ट व्यवहार को अनुकूलित करने के। डिफ़ॉल्ट मान "नया" है जो पिछले चयन को साफ़ करता है, "एड" मोड पिछले चयन करता है जैसे कि माउस के साथ पंक्ति का चयन करने के साथ चयन करें, जब मेटाकी पर है और "चेकबॉक्स" मोड केवल पंक्ति चयन के साथ पंक्ति चयन की अनुमति देता है।

+0

धन्यवाद, इससे मुझे बहुत मदद मिली – SoftMolina

1

अपने पेज में इस रखो, चयन को रोकने में मदद कर सकते हैं।

$(document).ready(
    function() { 
     $("tr td").click(function(event) { 
      if (!$(this).find("div").hasClass("ui-chkbox") || $(this).find("div").find("div").hasClass("ui-state-disabled")) { 
       event.stopPropagation(); 
     } 
    }); 
}); 
+0

इसे नीचे चिह्नित करने के बजाय, मुझे यह इंगित करना चाहिए कि ऊपर दिया गया कोड अभी भी एक ही समस्या को प्रभावित करता है, लेकिन इसे एक सेल में स्थानांतरित करता है। – Charlie

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