मुझे p:dataTable
और एकल पंक्ति चयन से कॉलम को छोड़कर समस्या है।प्राइमफ़ेस: पी में पंक्ति चयन से कॉलम को बहिष्कृत करें: डेटाटेबल
मेरे डेटा में 4 कॉलम हैं। FileId, fileName और uploadDate को प्रदर्शित करने के लिए पहले 3 की आवश्यकता है। चौथे कॉलम में प्रत्येक पंक्ति के लिए एक कमांड बटन होता है जो फ़ाइल प्रोसेसिंग की क्रिया शुरू करता है। लेकिन पंक्ति चयन (घटना पर AJAX कार्रवाई के साथ) भी है जो फ़ाइल विवरण पृष्ठ पर नेविगेट करता है। अब, जब मैं पंक्ति पर कहीं भी क्लिक करता हूं (बटन सहित) यह मुझे विवरण पृष्ठ पर नेविगेट करता है।
वहाँ मेरे वर्तमान कोड है:
<h:form>
<p:dataTable id="billingFiles" value="#{billingFiles}"
var="billingFile"
rowKey="#{billingFile.billingFile.idBillingFile}"
filteredValue="#{billingService.filteredBillingFileDataModels}"
selectionMode="single" paginator="true" rows="10">
<p:ajax event="rowSelect" listener="#{billingService.selectBillingFileRow}" />
<p:column sortBy="#{billingFile.id}"
filterBy="#{billingFile.id}" id="idFile"
headerText="#{msg['billing.file.id']}"
filterMatchMode="contains">
<h:outputText value="#{billingFile.id}" />
</p:column>
<p:column sortBy="#{billingFile.uploadDate}"
filterBy="#{billingFile.uploadDate}" id="uploadDate"
headerText="#{msg['billing.file.upload_date']}"
filterMatchMode="contains">
<h:outputText value="#{billingFile.uploadDate}" />
</p:column>
<p:column sortBy="#{billingFile.fileName}"
filterBy="#{billingFile.fileName}" id="fileName"
headerText="#{msg['billing.file.file_name']}"
filterMatchMode="contains">
<h:outputText value="#{billingFile.fileName}" />
</p:column>
<p:column id="loadBillingFile">
<p:commandButton id="loadBillingFileButton"
rendered="#{billingFile.fileStatus.equals('UPLOADED')}"
value="#{msg['billing.load_billing_file']}"
action="#{billingService.loadBillingFile(billingFile.billingFile)}"
update=":form" />
</p:column>
</p:dataTable>
</h:form>
और वहाँ विधि विवरण पृष्ठ फाइल करने के लिए नेविगेट करता है जो:
public void selectBillingFileRow(SelectEvent event) {
BillingFileDataModel billingFileDataModel = (BillingFileDataModel) event.getObject();
if (billingFileDataModel != null) {
selectedBillingFile = billingFileDAO.findBillingFileById(billingFileDataModel.getBillingFile().getIdBillingFile());
FacesContext.getCurrentInstance().getExternalContext()
.getRequestMap().put(JsfView.EVENT_KEY, "viewBillingFile");
}
}
वहाँ पंक्ति चयन से बटन के साथ स्तंभ को बाहर करने का कोई तरीका है? मुझे इसे अन्य पेज पर नेविगेट किए बिना फ़ाइल को प्रोसेस करना शुरू करने की आवश्यकता है।
आप किस फाइल को संसाधित करते हैं, क्या यह एक डीबी है? –
यह स्प्रिंग बैच के साथ txt फ़ाइल को प्रोसेस करना शुरू करता है। – Rozart
आपके पास एक पंक्ति है प्राइमफ़ेस अजाक्स ईवेंट डेटा पर चयन करें जब भी आप किसी पंक्ति पर क्लिक करते हैं तो निम्न श्रोता निष्पादित करता है: '" # {billingService.selectBillingFileRow} "'मैं इस विधि के लिए कोड देखता हूं कि यह रीडायरेक्ट कर रहा है या अग्रेषित कर रहा है या नहीं पृष्ठ। –