【问题标题】:Update (from p:ajax) Primefaces datatable select all rows of the table更新(来自 p:ajax)Primefaces 数据表选择表的所有行
【发布时间】:2011-06-09 14:57:51
【问题描述】:

我对 primefaces 2.2.1 有同样的问题 我将 Spinner 组件与 Ajax 一起使用。对于微调器上的每个更改,我都想更新一个(primefaces)DataTable 组件。而且我不知道为什么,每次更新数据表时,都会选择所有行,即使 selectionMode="single" 并且 selection 采用的是 POJO 而不是列表的参数。这发生在复合实现中。

<h:form id="frm">
        (...)
                    <p:dataTable id="openingHoursTbl" var="oh" value="#{cc.attrs.openingHours}" rows="7"
                       selection="#{cc.attrs.selectedHours}" selectionMode="single"
                       onRowSelectUpdate="hoursTable"
                       style="width: 300px">

                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="Day" />
                            </f:facet>
                            <h:outputText value="#{oh.displayedDays}" />
                        </p:column>

                        <p:column>
                            <f:facet name="header">
                                <h:outputText value="Opening Hours" />
                            </f:facet>
                            <h:outputText id="ohHeader" value="#{oh.displayedHours}" />
                        </p:column>
                    </p:dataTable>
                (...)
                            <p:spinner value="#{hour.fromHour}" maxlength="2" size="2" stepFactor="1" min="0" max="23">  
                                <p:ajax process="@form" update="#{cc.clientId}:frm:openingHoursTbl" event="change" />
                            </p:spinner>
                (...)
    </h:form>

这是从服务器收到的响应(注意选择输入标签已选择所有行):

<partial-response>
<changes>
    <update id="j_idt162:frm:openingHoursTbl">
        <div id="j_idt162:frm:openingHoursTbl" class="ui-datatable ui-widget"
            style="width: 300px">
            <table>
                (...)
            </table>
            <input type="hidden" id="j_idt162:frm:openingHoursTbl_selection"
                name="j_idt162:frm:openingHoursTbl_selection" value="0,1,2,3,4,5,6" />
        (...)

感谢您的帮助

【问题讨论】:

  • 这有点多...请尝试设置一个SSCCE,sscce.org

标签: java ajax jsf datatable primefaces


【解决方案1】:

老问题,但我最近遇到了类似的问题,所以它可能会帮助遇到同样问题的其他人。 我遇到的问题是删除一行时,所以不完全相同,但无论如何。

当我删除一行时,我必须重置“选定值”。所以我想这可以通过更新您正在使用的数据集来避免。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 2017-10-07
    • 2014-10-08
    • 2013-09-15
    相关资源
    最近更新 更多