2014-09-09 2 views
0

저는 p:dataTable입니다. 마지막 열에는 p:menuButton이 포함되어 있으며 'delete'와 'edit'와 같은 해당 행에 대한 옵션을 제공합니다. 이 옵션들을 단일 열에 결합하고 싶습니다.)p : dataTable - menuButton을 통해 rowEdit을 토글합니다.

menuItem ('edit')을 사용하여 테이블의 행 편집기를 전환하면 어떻게 동작합니까? (전혀 렌더링하지 않는) p:rowEditor -icon을 클릭했을 때와 동일합니다.

코드는 :

<p:datatable ... > 
    ... 
    <p:column> 
    <p:menuButton> 
     ... 
     <p:menuItem value="Edit" onclick="[what to put here?]"/> 
    </p:menuButton> 
    </p:column> 
</p:datatable> 

답변

0

사용자가 직접 위젯의 PrimeFaces의 자바 스크립트를 호출 할 수도 있지만 훨씬 쉽게 솔루션이있다. 추가 기능을 p : rowEditor 태그가 포함 된 열에 추가하기 만하면됩니다.

는 예를 들어, 다음 행 편집 아이콘 후 삭제 링크 명령을 추가하는 방법은 다음과 같습니다 각 추가 기능에 대한

<p:dataTable var="record" ... > 
... 
<p:column> 
    <p:rowEditor /> 
    <p:cellEditor> 
    <f:facet name="output"> 
    <p:commandLink id="deleteLink" action="#{editBean.delete(record)}">Delete</p:commandLink> 
    </f:facet> 
    <f:facet name="input"> 
    <div></div> 
    </f:facet> 
    </p:cellEditor> 
</p:column> 
</p:dataTable> 
+0

덧붙이 버튼이 나에 대한 옵션 (질문 참조)이 아니다. 내 접근 방식은 하나의 구성 요소 (p : menuButton)에서 모든 기능을 결합하는 것입니다. 따라서 대답의 두 번째 부분은 전혀 도움이되지 않습니다. 미안합니다. 더 많은 흥미를 불러 일으키는 _wh_ 나는 PF JS를 직접 호출 할 수 있습니까? –

+0

그럴 경우 primefaces javascript 파일을 열어서 인터페이스를 찾아야합니다. 그런 다음 PF() 함수를 사용하여 동일한 기능을 수동으로 수행하여 datatable jquery 위젯에 액세스하기위한 자체 스크립트를 작성할 수 있습니다. (PrimeFaces.widget.DataEditEvents 자바 스크립트 함수를 살펴보십시오. 클릭 이벤트를 아이콘에 바인딩하는 방법을 보게 될 것입니다.)이 방법으로 항상 primefaces 기능을 확장하지만 버전을 업그레이드 할 때는주의해야합니다. 구현이 변경되어 코드가 손상 될 수 있습니다. – codeturner

관련 문제