Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新(来自p:ajax)PrimeFacesDataTable选择表中的所有行_Java_Ajax_Jsf_Datatable_Primefaces - Fatal编程技术网

Java 更新(来自p:ajax)PrimeFacesDataTable选择表中的所有行

Java 更新(来自p:ajax)PrimeFacesDataTable选择表中的所有行,java,ajax,jsf,datatable,primefaces,Java,Ajax,Jsf,Datatable,Primefaces,我对primefaces 2.2.1也有同样的问题 我将微调器组件与Ajax结合使用。对于微调器上的每个更改,我都要更新(primefaces)DataTable组件。我不知道为什么每次更新datatable时,所有行都被选中,即使selectionMode=“single”和selection使用的参数是POJO而不是列表。这在复合实现中发生 <h:form id="frm"> (...) <p:dataTable id

我对primefaces 2.2.1也有同样的问题 我将微调器组件与Ajax结合使用。对于微调器上的每个更改,我都要更新(primefaces)DataTable组件。我不知道为什么每次更新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>

(...)
(...)
(...)
以下是从服务器收到的响应(请注意,选择输入标记已选中所有行):


(...)
(...)


谢谢你的帮助

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


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

这是一个有点多整理。。。请尝试建立一个SSCCE,
<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" />
        (...)