Ich brauche Ihre Hilfe bei der Aktualisierung nur eine bestimmte Zeile Werte in einer DataTable nicht die gesamte DataTable mit bestimmten Werten, sobald der Benutzer auf die Schaltfläche "Update" klicken.So aktualisieren Sie bestimmte Zeile in DataTable mit den aktualisierten Informationen von Backing-Bean
Datatable wie folgt aussieht:
<p:dataTable value="#{testController.employeeList}" id="Employee" var="emp"
rowIndexVar="rowIndex"
selection="#{testController.selectedEmployees}" rowKey="#{emp.id}"
rowSelectMode="checkbox">
<p:columnGroup type="header">
<p:row>
<p:column/>
<p:column headerText="ID"/>
<p:column headerText="Name"/>
<p:column headerText="Remarks"/>
<p:column headerText="Update"/>
</p:row>
</p:columnGroup>
<p:column selectionMode="multiple"/>
<p:column headerText="ID">
<h:outputText value="#{emp.id}"/>
</p:column>
<p:column headerText="Name">
<h:outputText value="#{emp.name}" id="name"/>
</p:column>
<p:column headerText="Remarks">
<h:inputText id="inputT1" value="#{emp.remarks}"/>
</p:column>
<p:column headerText="Update">
<p:commandButton id="updateCmd" title="Update"
actionListener="#{testController.updateRecord}">
</p:commandButton>
</p:column>
</p:dataTable>
Und hier der Code-Methode ist:
public void updateRecord(ActionEvent actionEvent) {
FacesContext context = FacesContext.getCurrentInstance();
Employee selectedRecord = context.getApplication().evaluateExpressionGet(context, "#{emp}", Employee.class);
selectedRecord.setRemarks("Updated");
String name1=selectedRecord.getRemarks();
System.out.println("name1"+name1);
// I need to update the row only or the cell with the remarks Updated by
//without refreshing full dataTable
//RequestContext.getCurrentInstance().update("request:Employee");
//Above line will update the full table, I need only the row or the cell value
}
ist dies ein duiplicate: http://stackoverflow.com/questions/30120998/update-single-row-from-datatable-jsf-ajax – Kukeltje
@Kukeltje zeigt es nicht die Antwort – 99maas
In Ihrer XHTML-Seite kann ich sehen, es gibt nur ein Eingabefeld Bemerkungen. Aber in Ihrer Update-Methode aktualisieren Sie den Namen. Was versuchst du zu erreichen? – Unknown