首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >右键单击Primefaces

右键单击Primefaces
EN

Stack Overflow用户
提问于 2014-01-15 09:46:51
回答 1查看 1.1K关注 0票数 1

我正在用文件下载程序修复一个PrimeFaces面板,您可以从列表中选择一个文件并下载它。

现在,首先必须用左键选择文件,然后右击并选择“下载文件”。

然而,大多数人习惯于右击一个文件并选择“下载它”。

从下面的代码中可以看到,当您选择一个文件时,会调用actionlistener actionListener="#{downloadsController.selectFile}“,它正确地设置要下载的文件名,然后右击调用actionListener="#{downloadsController.downloadFile}".

当右击被调用时,如何使selectFile被调用?还是让右击访问file.name?

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-15 11:01:48

如果您正在使用Primefaces 4,您可以简单地使用行选择,如演示的这里

代码语言:javascript
复制
<p:contextMenu for="cars">  
...
</p:contextMenu>  
<p:dataTable id="cars" var="car" value="#{tableBean.carsSmall}" rowKey="#{car.model}"  
                 selection="#{tableBean.selectedCar}" selectionMode="single">
...
</p:dataTable> 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21133946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档