목록에서 파일을 선택하고 다운로드하는 파일 다운로더를 사용하여 PrimeFaces 패널을 수정했습니다.Primefaces datatable right
이제 왼쪽 클릭으로 파일을 선택하고 마우스 오른쪽 버튼으로 클릭 한 다음 "파일 다운로드"를 선택해야합니다.
그러나 대부분의 사람들은 파일을 마우스 오른쪽 단추로 클릭하고 "다운로드"하는 데 사용됩니다.
파일을 선택할 때 아래 코드에서 알 수 있듯이 다운로드 할 파일 이름을 올바르게 설정 한 actionListener actionListener = "# {downloadsController.selectFile}"이 호출 된 후 오른쪽 클릭으로 actionListener = "# {downloadsController.downloadFile} ".
마우스 오른쪽 버튼을 클릭했을 때 어떻게 selectFile을 호출 할 수 있습니까? 또는 오른쪽 클릭으로 file.name에 액세스 하시겠습니까? 당신이 Primefaces 4를 사용하는 경우 here을 보여로
<p:panel id="propPanel">
<h:form>
<p:contextMenu for="fileExplorer">
<p:menuitem value="Download" actionListener="#{downloadsController.downloadFile}"
icon="ui-icon-arrowthickstop-1-s" ajax="false" >
<p:fileDownload value="#{downloadsController.fileToDownload}" />
</p:menuitem>
</p:contextMenu>
<p:scrollPanel style="height:300px">
<p:dataTable id="fileExplorer" var="file" value="#{downloadsController.files}"
emptyMessage="This folder is empty"
rowKey="#{file.name}" selectionMode="single" >
<p:column style="width:308px" sortBy="#{file.name}">
<f:facet name="header">
Name
</f:facet>
<p:commandLink style=" text-decoration: none;"
actionListener="#{downloadsController.selectFile}" update=":treePanel">
<f:param name="fileName" value="#{file.name}"/>
<p:spacer width="5" height="10" />
<h:outputText value="#{file.name}" escape="false"/>
</p:commandLink>
</p:column>
<p:column style="width:55px" sortBy="#{file.size}">
<f:facet name="header">
Size
</f:facet>
<h:outputText value="#{file.size}" escape="false">
</h:outputText>
</p:column>
</p:dataTable>
</p:scrollPanel>
</h:form>
</p:panel>