2012-06-18 8 views
6

मैं क्लिक करने योग्य पंक्तियों के साथ डेटाटेबल का उपयोग कर रहा हूं और मुझे बैकिंग बीन से चयनित पंक्ति को सेट करने का तरीका ढूंढने की आवश्यकता है।प्राइमफ़ेस में बैकिंग बीन से चयनित पंक्ति सेट करें

<p:dataTable id="cablePathTable" var="cablePath" value="#{commonTableBean.cableLazyModel}" rows="100" 
     selectionMode="single" selection="#{commonTableBean.selectedCablePathTblRow}" 
     rowIndexVar="rowIndex" widgetVar="datatableVar" 
     emptyMessage="---"> 
<p:ajax event="rowSelect" process="@this" update=":form:portFieldset" /> 

<p:column headerText="No"> 
    <h:outputText value="#{cablePath.column1}" /> 
</p:column> 
<p:column headerText="Port A"> 
    <h:outputText value="#{cablePath.column4}" /> 
</p:column> 
<p:column headerText="Port B"> 
    <h:outputText value="#{cablePath.column5}" /> 
</p:column> 

मैं निम्नलिखित दृष्टिकोण की कोशिश की है, लेकिन कोई सफलता के साथ:

मेरी datatable परिभाषा नहीं है। समर्थन सेम में मैं जोड़ लिया है विधि:

public void test(){ 
    DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("form:cablePathTable"); 
    dataTable.setRowIndex(2); 
} 

और मैं एक्सएचटीएमएल पृष्ठ पर परीक्षण butoon जोड़ लिया है:

<p:commandButton process="@this" update=":form:cablePathTable" value="set2row" action="commonTableBean.test"/> 

लेकिन nothig datatable, चयन परिवर्तन नहीं किया पर बदल गया है ...

कृपया इस समस्या को हल करने के लिए कोई विचार करें?

उत्तर

7

बस selection="#{commonTableBean.selectedCablePathTblRow}" के पीछे मान सेट करें।

public void test(){ 
    selectedCablePathTblRow = cablepath; 
} 
+0

डी ओह! यह इतना आसान था! आपका बहुत बहुत धन्यवाद! –

+0

आपका स्वागत है। चूंकि आप यहां नए हैं, इसलिए जब भी समस्या हल हो जाती है, तो उत्तर में स्वीकार किए गए उत्तर को चिह्नित करना न भूलें। यह भी देखें [उत्तर कार्य को कैसे स्वीकार किया जाता है?] (Http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) – BalusC

+1

यह करना संभव नहीं है पेज के लिए दिखाया गया है? कमांड बटन दबाए बिना? – roel

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