OmniFaces 1.3 (SNAPSHOT) Ajax 유틸리티의 Ajax.updateColumn() 메소드를 사용하려고합니다. 좀 더 구체적으로, Ajax.updateColumn (table, 1)을 사용하여 다음 xhtml을 포함하는 h : panelGroup (또는 p : outputPanel) 인 p : ajax update = ": pageContentPanel"을 대체하려고합니다. 빈에서p : ajax를 통해 OmniFaces Ajax.updateColumn() 또는 Ajax.updateRow()를 사용하는 방법
<h:dataTable id="dt_tripDates" style="width: 200px !important;"
var="tripDate" value="#{pf_ordersController.tripDates}">
<p:column style="text-align: right !important;">
<h:outputText id="rowNumber" value="#{tripDate.rowNumber}" />
</p:column>
<p:column style="text-align: center !important;">
<p:calendar id="tripDate" value="#{tripDate.tripDate}"
size="16" label="Trip Date"
pattern="MM/dd/yyyy" navigator="true"
onchange="changeOthersOnDateChange(this);">
<p:ajax partialSubmit="false" event="dateSelect"
listener="#{pf_ordersController.tripDateSelectedOnAddUsingTemplate}"
update=":pageContentPanel"/>
<f:convertDateTime pattern="MM/dd/yyyy" />
</p:calendar>
</p:column>
</h:dataTable>
, 내가 페이지에서 참조하는 다음을 가지고 : 아약스 리스너를 = "..."
public void tripDateSelectedOnAddUsingTemplate(DateSelectEvent event) {
DateTime dt, today = DateTime.now(),
tripDateTime = new DateTime(event.getDate());
String clientId = event.getComponent().getClientId();
Integer pos = clientId.indexOf(":tripDate") - 1,
rowNumber = Integer.valueOf(clientId.substring(clientId.lastIndexOf(":", pos) + 1, pos + 1));
/*
* clientId = orderAddUsingTemplateForm:dt_tripDates:0:tripDate
* id = tripDate
*/
/*
* if tripDates in the list, that follow the argument tripDate in the list,
* have today's Date, then set them to the argument
*/
for (int i = rowNumber; i < nbrOfTripDates; i++) {
tripDates.get(i).setTripDate(tripDateTime.toDate());
}
// OmniFaces Ajax utility to update UIData columns
Ajax.updateColumn(tripDatesDataTable, 1);
}
이 Ajax.updateColumn()를 사용하는 동안, 나는 추가 "HtmlDataTable tripDatesDataTable"을 bean에 대한 속성으로 사용하십시오.
빈은 JSF @ SessionScoped 관리 빈입니다. p : ajax (위 xhtml의 p : calendar에 속함)가 실행될 때 Ajax.updateColumn()을 호출 할 수있는 방법을 알려주십시오. 감사.
완벽하게 작동합니다! 또 다른 훌륭한 BalusC 응답/응답 및 솔루션! 고맙습니다. – Howard
당신은 환영합니다 :) – BalusC