【问题标题】:Primefaces dataTable edit cells next to headerPrimefaces dataTable 编辑标题旁边的单元格
【发布时间】:2016-07-25 14:53:58
【问题描述】:

我正在尝试使用 primefaces 绘制辅助表,但我在使用 <p:dataTable> 时遇到了一些麻烦。

场景

表格应该如下:

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

在(1) 我有标题(当然不可编辑)。在(2) 我有从数据库中获取的人员数据,也无法编辑。

在(3) 中,我有一个可编辑的单元格,其中包含可能值[P, A, L](出席、缺席、迟到)的下拉列表。

在(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>

这不起作用,因为&lt;p:columnGroup type="header"&gt; 中的每个字段都不会呈现&lt;input&gt;。

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

任何帮助或指导将不胜感激,我也愿意接受其他选择。提前致谢

【问题讨论】:

  • 如果我正确理解了您的问题,您将无法为所欲为。对不起。
  • ¿这种功能还有其他选择吗?也许是另一个组件或组件的组合,我全神贯注。谢谢

标签: jsf-2 primefaces datatable


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-03-08
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多