JSF:p:当selectionMode在datatable中是多个时,commandLinks不起作用

时间:2014-05-08 07:30:44

标签: jsf

我正在处理一个包含inputtexts,commandlinks和data table的xhtml文件。该文件的部分内容将是这样的:

<div>
      <h:inputText value="#{MyBean.inputval}" />
      <p:commandLink value="Button A" action="#{MyBean.actionA}" />
      <p:commandLink value="Button B" action="#{MyBean.actionB}" />
</div>
<p:dataTable value="#{MyBean.dataList}" var="data">
      <p:columnGroup type="header">
         <p:row>
           <p:column headerText="headerA" selectionMode="multiple" rowspan="2" />
           <p:column headerText="headerB" />
         </p:row>
         <p:row>
           <p:column headerText="headerB2" />
         </p:row>
      </p:columnGroup>

      // This column is the source of the problem
      <p:column selectionMode="multiple" />

      <p:column><h:outputText value="#{data.get('hb')}" /><br/>
                <h:outputText value="#{data.get('hb2')}" />
      </p:column>
</p:dataTable>

如果我删除了dataTable部分的selectionMode =“multiple”,上面的工作正常,我已经通过评论指出了。问题是我的命令链接没有工作。我没有任何错误,没有任何事情发生。

但是,如果我删除了selectionMode =“multiple”,那么我的所有命令链接都会起作用,但是表格标题上将选中所有复选框的复选框将被禁用。

我的问题是如何才能使两者兼顾?我究竟做错了什么?请帮忙

1 个答案:

答案 0 :(得分:0)

标题中的p:column不能有headerText,因为这是一个特殊的primefaces函数。您要检查所选子项的标题复选框。只需使用showcase中使用的相同样式。