触发命令按钮时选择行

时间:2015-07-27 14:02:36

标签: jsf primefaces commandbutton

我有一个数据表,在其中一个列中有一个下载按钮,可以开始下载该行中的任何内容。如何自动选择单击下载按钮的行?

<p:column style="width:150px">
   <p:commandButton value="Download" ajax="false" icon="ui-icon-arrowthick-1-s">
       <p:fileDownload value="#{dtEditView.file}" />
   </p:commandButton>
</p:column>

这似乎是微不足道的,但我无法弄清楚。

1 个答案:

答案 0 :(得分:0)

没有足够的代码可以修复,但我认为你有一些p:dataTable

<p:dataTable var="row" value="#{bean.listOfElementsToFillTable}">
   <p:column style="width:150px">
       <p:commandButton value="Download" ajax="false" icon="ui-icon-arrowthick-1-s">
          <p:fileDownload value="#{bean.getFile(row)}" />
       </p:commandButton>
    </p:column>
</p:dataTable>

行可以是实体或任何对象

bean方法:

public void getFile(Row row) {
    try {
        byte[] rowFile = somehowGetFile();
        Faces.sendFile(rowFile, "fileName" + ".pdf", false);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}