jsf - <p :rowExpansion> and empty values in <p:cellEditor> on scrolled page when using <p:dataTable lazy ="true" liveScroll ="true"> 中的错误值

标签 jsf primefaces lazy-loading rowexpansion

我在 PrimeFaces 4.0 中使用 JSF 2.2。我有一个 <p:dataTable> live scrolling , lazy loading , row-expansioncell-editing , 等等。

<p:dataTable
    id="dtaTable"
    selection="#{cont.selectedArray}"
    resizableColumns="true"
    draggableColumns="true"
    var="dataModel"
    value="#{cont.yieldBondsModel}"
    editable="true"
    editMode="cell"
    selectionMode="multiple"
    rowSelectMode="add"
    scrollable="true"
    scrollHeight="650"
    rowKey="#{modeld.id}+#{model.name}"
    rowIndexVar="rowIndex"
    filterEvent="enter"
    styleClass="screenScrollStyle"
    scrollRows="25"
    liveScroll="true"
    lazy="true"
    rows="50"
    filteredValue="#{cont.filteredModel}"
    widgetVar="dt4"
>
    <p:rowExpansion>
        <h:panelGrid id="display" columns="2" cellpadding="4" style="width:300px;" styleClass="ui-widget-content grid">
            <f:facet name="header" styleClass="dataTableHeader">Other Data</f:facet>
            <h:outputText value="id " />
            <h:outputText value="#{dataModel.id}"/>
            <h:outputText value="Name" />
            <h:outputText  value="#{dataModel.name}" />
        </h:panelGrid>
    </p:rowExpansion>

    <p:column width="15">
        <p:rowToggler />
    </p:column>

    ...
</p:dataTable>

在第一页上,一切都像魅力一样。一旦我向下滚动它,数据就会完全延迟加载,但在行扩展和单元格编辑过程中存在一些问题:
  • 在行扩展中,我得到了错误的值。可能与其他行的值重叠。
  • 单元格编辑也不起作用。一旦我编辑了任何单元格,值就不会显示在单元格编辑器中。我已经检查了 Firebug,在 <h:outputText> 中没有值由生成的 HTML 确认 <div class="ui-cell-editor-output" style="display: none;"></div> .如您所见,div 中没有值。

  • 支持 bean 是 @SessionScoped .

    这是怎么引起的,我该如何解决?

    最佳答案

    这是 PrimeFaces 上的一个已知问题,并且已经在 Elite 版本(如果我没记错的话,是 4.0.7)中报告和修复。然而,社区版本尚不包含此修复程序。 PrimeFaces 5.0 有一个 RC,其中包含此修复程序。您可以下载它并测试它是否适合您的需要,但请注意,这只是一个候选版本,而不是最终版本。 AFAIK 5.0 决赛的预计到达时间是 5 月上半月。

    关于jsf - <p :rowExpansion> and empty values in <p:cellEditor> on scrolled page when using <p:dataTable lazy ="true" liveScroll ="true"> 中的错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23195131/

    相关文章:

    java - 警告 : Could not register destruction callback

    validation - p :commandButton doesn't call action on validation error

    jquery - 如何使用 jQuery 选择 JSF 组件?

    java - 使用 JSF 进行 Stripe Checkout 收费 : Form being submitted twice

    java - 我如何通过推送 primeFaces 来刷新 dataTable

    primefaces - 在 Primefaces 向导的最后一个选项卡上隐藏后退按钮

    jquery - 如何使用 BXSlider 进行延迟加载

    我的网站的 JavaScript 无法在 IE 6/7 中运行

    c# - 我的 Fluent nHibernate 应用程序不是延迟加载

    jsf - 将 CDI bean 注入(inject) JSF @ViewScoped bean