<p:autoComplete> 单元格内可编辑 <p:dataTable> 未调用完整方法

alibttb

我有一个具有单元格编辑和全局过滤功能的数据表:

<p:dataTable id="tbl01" value="#{userMappingBacking.staffList}" editable="true" editMode="cell" filteredValue="#{userMappingBacking.staffListFiltered}" var="s" rowKey="#{s.id}" widgetVar="tbl101WV">
  ...               
  <f:facet name="header">
     <p:outputPanel>
       <p:toolbar>
         <p:toolbarGroup align="${text.line_start}">
           <p:commandButton value="#{text.save}" action="#{userMappingBacking.saveChanges}" update="msgs"/>
         </p:toolbarGroup>
         <p:toolbarGroup align="${text.line_end}">
           <h:outputText value="#{text.search_all_fields}:"/>
           <p:spacer width="10"/>
           <h:inputText id="globalFilter" onkeyup="PF('tbl101WV').filter()" />
         </p:toolbarGroup>
       </p:toolbar>
     </p:outputPanel>
  </f:facet>
  ...
  <p:column headerText="#{text.user}" filterBy="#{s.userName}" filterable="false">
    <p:cellEditor id="ceUser">
      <f:facet name="output"><h:outputText value="#{s.userName}"/></f:facet>
      <f:facet name="input">
        <p:autoComplete id="acUser" dropdown="true" value="#{s.userName}" completeMethod="#{userMappingBacking.completeUnAssignedUser}"/>
      </f:facet>
    </p:cellEditor>
  </p:column>
</p:dataTable>

并且支持 beanuserMappingBacking支持所有方法并且工作正常。

我的问题很奇怪,<p:autoComplete id="acUser"...除非将过滤器应用于表,否则不会调用完整的方法,在过滤器应用程序之后一切正常,但在此之前 p:autoComplete 中没有完成任何值。

任何人都可以提供帮助或对此有所了解。

alibttb

我实际上发现问题出在支持 bean 中,我有 3 个列表:

staffList = new ArrayList<>();
staffListFiltered = new ArrayList<>();
userDTOList = new ArrayList<>();

我填写了一个 viewAction 监听器

public void loadStaffListAction() {
    staffList = zaties.listAllStaff();
    staffListFiltered = zaties.listAllStaff();
    userDTOList = iacw.listAllUsers();
}

问题是有 2 个不同的列表staffListstaffListFiltered填充了来自服务的不同对象,因此更改代码如下:

public void loadStaffListAction() {
    staffList = zaties.listAllStaff();
    staffListFiltered = staffList;
    userDTOList = iacw.listAllUsers();
}

这解决了问题,但这不是最佳实践,如下所述。

常见错误:

过滤数据表的primefaces展示中,从不将filteredValue列表初始化为任何东西,他们将其保留为数据表null过滤器逻辑以正确的方式初始化它,注意我建议的这个细节:


除非出现错误,否则不要初始化任何东西。


欢迎评论!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在p:dataTable的所有行中仅设置p:autoComplete宽度

来自分类Dev

p:commandLink不会在p:dataTable中调用actionlistener

来自分类Dev

显示p:dataTable行号

来自分类Dev

p:dataTable不分页

来自分类Dev

p:autoComplete绑定未显示搜索值标签

来自分类Dev

无法在表格单元格内居中对齐p?

来自分类Dev

无法在表格单元格内居中对齐p?

来自分类Dev

Primefaces开关p:autoComplete值

来自分类Dev

设置p:dataTable p:列宽

来自分类Dev

p:datatable 中的 p:selectmanycheckbox 覆盖选择

来自分类Dev

p:datatable:如何在ap:dialog中编辑数据?

来自分类Dev

在<p:datatable>中包含<p:ajax>的<p:outputLabel>的click事件

来自分类Dev

导出图标/链接未显示在p:dataTable标头中

来自分类Dev

具有可变列和特定可编辑单元格的PrimeFaces dataTable

来自分类Dev

具有可变列和特定可编辑单元格的PrimeFaces dataTable

来自分类Dev

从<p:dataTable>到<p:dialog>查看所选行的数据

来自分类Dev

在完成<p:ajax event =“ cellEdit”>时更新整个<p:dataTable>

来自分类Dev

使用p:printer以常规格式打印重排的p:dataTable

来自分类Dev

如何在p:rowExpansion中更新p:dataTable

来自分类Dev

从<p:dataTable>到<p:dialog>查看所选行的数据

来自分类Dev

在 cellEdit p:ajax 事件上消失 p:DataTable

来自分类Dev

在p:datatable和p:columns中未触发带有f:ajax侦听器的h:inputTex

来自分类Dev

<p:分页后dataTable ajax问题

来自分类Dev

如何删除p:dataTable的border-collapse?

来自分类Dev

打印时隐藏<p:dataTable>的currentPageReportTemplate文本

来自分类Dev

无需单击即可刷新p:dataTable

来自分类Dev

p:dataTable中的SummaryRow无法正常工作

来自分类Dev

排序在p:datatable中不起作用

来自分类Dev

使一个懒惰的 p:dataTable 响应

Related 相关文章

  1. 1

    在p:dataTable的所有行中仅设置p:autoComplete宽度

  2. 2

    p:commandLink不会在p:dataTable中调用actionlistener

  3. 3

    显示p:dataTable行号

  4. 4

    p:dataTable不分页

  5. 5

    p:autoComplete绑定未显示搜索值标签

  6. 6

    无法在表格单元格内居中对齐p?

  7. 7

    无法在表格单元格内居中对齐p?

  8. 8

    Primefaces开关p:autoComplete值

  9. 9

    设置p:dataTable p:列宽

  10. 10

    p:datatable 中的 p:selectmanycheckbox 覆盖选择

  11. 11

    p:datatable:如何在ap:dialog中编辑数据?

  12. 12

    在<p:datatable>中包含<p:ajax>的<p:outputLabel>的click事件

  13. 13

    导出图标/链接未显示在p:dataTable标头中

  14. 14

    具有可变列和特定可编辑单元格的PrimeFaces dataTable

  15. 15

    具有可变列和特定可编辑单元格的PrimeFaces dataTable

  16. 16

    从<p:dataTable>到<p:dialog>查看所选行的数据

  17. 17

    在完成<p:ajax event =“ cellEdit”>时更新整个<p:dataTable>

  18. 18

    使用p:printer以常规格式打印重排的p:dataTable

  19. 19

    如何在p:rowExpansion中更新p:dataTable

  20. 20

    从<p:dataTable>到<p:dialog>查看所选行的数据

  21. 21

    在 cellEdit p:ajax 事件上消失 p:DataTable

  22. 22

    在p:datatable和p:columns中未触发带有f:ajax侦听器的h:inputTex

  23. 23

    <p:分页后dataTable ajax问题

  24. 24

    如何删除p:dataTable的border-collapse?

  25. 25

    打印时隐藏<p:dataTable>的currentPageReportTemplate文本

  26. 26

    无需单击即可刷新p:dataTable

  27. 27

    p:dataTable中的SummaryRow无法正常工作

  28. 28

    排序在p:datatable中不起作用

  29. 29

    使一个懒惰的 p:dataTable 响应

热门标签

归档