2016-04-05 74 views
0

我试图用primefaces绘制辅助表格,并且我正面临一些与<p:dataTable>有关的问题。Primefaces dataTable编辑单元格旁边的单元格

场景

表应该如下:

----------------------------------------------------------------------------------------- 
|       |     Date and assistance (1)    |  | 
|   Name (1)  |-------------------------------------------------------| % | 
|       |(4)| | | | | | | | | | | | | |  | 
----------------------------------------------------------------------------------------- 
|Lastname, firstname (2) |(3)| | | | | | | | | | | | | | (5) | 
----------------------------------------------------------------------------------------- 
|...[more rows]...                  | 
----------------------------------------------------------------------------------------- 

(1)我有标题(不可编辑当然)。在(2)我有从数据库带来的人员数据,也是不可编辑的。

(3)我有一个可编辑的单元格,可用的值为[P, A, L](Present,Absent,Late)。

(4)我需要插入援助日期(不一定是当前日期)。

最后,在(5)我有当前援助百分比,这是一个计算字段。

问题

我不能够做(4)编辑,例如用<p:inputMask pattern="dd/MM">标签

尝试失败

我试着用的<p:dataTable>的分组属性,是这样的:

<!-- Assist class has the properties char value, Person person and Date date --> 
<p:dataTable var="assist" value="#{assistBean.lstAssist}" 
      editable="true" editMode="cell"> 
    <p:columnGroup type="header"> 
    <!-- The "headers" properly said --> 
    <p:row> 
     <p:column rowspan="2" headerText="Name"/> 
     <p:column colspan="#{someBean.colAmount}" rowspan="1" headerText="Date and assistance"/> 
    </p:row> 

    <!-- The editable dates --> 
    <p:row> 
     <p:column> 
     <p:cellEditor> 
      <f:facet name="output"> 
      <h:outputText value="#{assist.date}"> 
       <f:convertDateTime pattern="dd/MM"/> 
      </h:outputText> 
      </f:facet> 
      <f:facet name="input"> 
      <p:inputMask value="#{assist.date}" style="width:96%" mask="99/99"/> 
      </f:facet> 
     </p:cellEditor> 
     </p:column> 
    </p:row> 
    </p:columnGroup> 

    <p:column>... 
    ... The rest of the table 
    </p:column> 
</p:dataTable> 

这不起作用,因为在<p:columnGroup type="header">各个领域不呈现<input>

我也尝试了一些其他的组合,但我不能混合标题与可编辑单元格。

任何帮助或指导将不胜感激,我也打开其他选项。在此先感谢

+0

如果我正确理解你的问题,你不能做你想做的。抱歉。 – Kukeltje

+0

¿这种功能还有其他选择吗?也许是另一个组件或组件的组合,我都听过。谢谢 –

回答

0

我不知道你是否仍然需要一个解决方案,但你可以做你需要把它放在可编辑标题(当然p:inplace是可选的,你可以删除它,f:facet是你需要):

<p:column> 
    <f:facet name="header"> 
     <p:inplace> 
      <p:inputText value="#{bean.yourvalue}"/> 
     </p:inplace> 
    </f:facet> 
</p:column> 
相关问题