2012-03-01 2 views
0

PF 3.1.1, JSF 2.0을 사용하고 있습니다.JSF ajax 호출에서 datatable을 업데이트합니다.

selectBooleanCheckBox에 대한 열이있는 데이터 테이블이 있습니다. 사용자가 확인란을 선택하려면 행을 선택하고 사용자가 확인란을 선택하면 행을 선택해야합니다.

selectBooleanCheckBox에서 ajax 호출을 만들고 있는데, backing bean에서 selectionArray를 업데이트하지만 결과가 화면에 표시되지 않습니다. 어떤 도움을 주시면 더 좋구요

<p:dataTable id="mylist" value="#{myController.selectedLists}" 
             selection="#{myController.myArray}" 
             selectionMode="multiple" 
             var="item" 
             rows="5" 
             rowKey="#{item.id}" 
             sortBy="#{item.name}" 
             sortOrder="ascending" 
             > 
           <p:ajax event="rowSelect" 
             listener="#{myController.onSelectList}" 
             update="mylist"/> 
           <p:column style="width: 20px;" id="gs"> 
            <h:selectBooleanCheckbox id="booId" 
                  value="#{item.booVal}"> 
             <f:ajax execute="@this" 
               listener="#{myController.booValListener}" 
               render="mylist"/> 
             <f:attribute name="item" value="#{item}" /> 
            </h:selectBooleanCheckbox> 
           </p:column> </p:datatable> 

- 여기

는 코드입니다.

답변

0

확인란/라디오 버튼 선택 방법이 효과가 없습니까? 해당 기능의 쇼케이스 데모를 확인하십시오. http://www.primefaces.org/showcase-labs/ui/datatableRowSelectionRadioCheckbox.jsf

문제점 : 이제는 아약스 요청 후 데이터 테이블을 업데이트하는 데 문제가있었습니다. 그들이 primefaces 3.0 이후 이것을 다루지 않았다면, datatable을 직접 업데이트 할 수 없기 때문에 panelGroup을 래핑하고 panelGroup을 업데이트해야합니다. 예 :

<h:panelGroup id="panel"> 
    <p:dataTable id="mylist" value="#{myController.selectedLists}" 
            selection="#{myController.myArray}" 
            selectionMode="multiple" 
            var="item" 
            rows="5" 
            rowKey="#{item.id}" 
            sortBy="#{item.name}" 
            sortOrder="ascending" 
            > 
      <p:ajax event="rowSelect" 
            listener="#{myController.onSelectList}" 
            update="panel"/> 
      ... 
    </p:dataTable> 
</h:panelGroup> 

시도해보십시오.

+0

제안에 감사드립니다. 데이터 테이블에 rowSelectListener가 있으면 확인란 선택이 작동하지 않습니다. 그것이 selectBooleanCheckbox를 사용하는 이유입니다. – goodprg

+0

충분합니다. 나는 내 대답을 편집하고있다. – Andre

+0

다시 한번 감사드립니다. 사실 나는 업데이트 속성이없는 JSF의 AJax 이벤트에서 datatable을 업데이트하려고했습니다. listener = "# {myController.onBooListener}" render = "@ form"/> goodprg