2016-09-09 8 views
2

파일을 업로드하고 다운로드 할 celleditor가있는 Datatable이 Primeface에 있습니다. 파일 업로드가 작동 중입니다. 파일 다운로드가 작동하지 않으며 페이지를 다시로드하기 만합니다. 다운로드 버튼을 p : 컬럼 바로 아래에 놓으면 다운로드가 작동합니다. (따라서 다운로드 버튼은 편집 모드에서 볼 수 있습니다.)Datatable celleditor에서 Primefaces filedownload가 작동하지 않습니다.

뭐가 잘못 되었나요?

<p:column headerText="Header"> 
    <!-- Download Button at this position works --> 
    <p:cellEditor> 
    <f:facet name="output"> 
     <p:commandButton id="download" value="Download" ajax="false"> 
     <p:fileDownload value="#{bean.downloadFile}" /> 
     </p:commandButton> 
    </f:facet> 
    <f:facet name="input"> 
     <p:fileUpload fileUploadListener="#{bean.uploadFile}" label="upload" mode="advanced" auto="true" process="@this" /> 
    </f:facet> 
    </p:cellEditor> 
</p:column> 

그리고 관리 빈 : 여기

내 (간체) 코드

import java.io.InputStream; 
import org.primefaces.model.DefaultStreamedContent; 
import org.primefaces.model.StreamedContent; 


public StreamedContent getDownloadFile() { 
    final InputStream stream = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/images/test.png"); 
    return new DefaultStreamedContent(stream, "image/png", "test.png"); 
} 

답변

0

별로 수정,하지만 난 내 응용 프로그램에서 동일한 문제가 있었고, 셀 편집기 구성 요소를 제거하고 남은 구성 요소를 나란히 표시되도록 (표시 : 인라인 블록) 스타일링하여 멋진 결과를 얻었습니다.