在加载文档时,autoscroll不适用于数据表Primefaces 5

时间:2015-07-29 23:32:15

标签: javascript jquery primefaces

我正在使用primefaces 5.1jquery scrolltoview来自动滚动到primeface dataTable上选择的最后一行,当页面加载但不起作用时,这是我的代码:

<h:body onload="remoteAutoScroll();">

<ui:composition template="/template/my_template.xhtml">
    <ui:define name="metadata">
        <!-- another form here -->
       <h:form id="form">
        <p:growl id="growl" autoUpdate="true" showDetail="true" sticky="true" />
                <p:poll interval="300" listener="#{listadoAvaluosBean.actualizarTabla}" update="avaluoTabla" />
                <p:panel id="avaluoTabla"
                    style="width: 100%;margin-bottom:10px;background: transparent;">
                    <p:remoteCommand name="remoteAutoScroll" oncomplete="autoScroll();"  autoRun="true" />
                    <p:dataTable 
                        id="tabla_Avaluos" 
                        var="avaluo"
                        value="#{bean.avaluos}"
                        selection="#{listadoAvaluosBean.avaluo}" rowKey="#{avaluo.id}"
                        selectionMode="single" sortBy="#{avaluo.fechaEstado}"
                        sortOrder="descending"
                        rowStyleClass="#{avaluo.semaforo.estadoSemaforo}"
                        resizableColumns="true" 
                        scrollable="true" 
                        scrollWidth="1400"
                        scrollHeight="250" 
                        scrollRows="10" 
                        liveScroll="true"
                        emptyMessage="No tienes solicitudes"

                        style="clear: right; font-size: 11px !important; margin-top: 5px;">
                        <p:ajax event="rowSelect" update=":form ..somefields" listener="#{bean.mostrarMenuAccion}" />

                           <!--  some columns here -->      
                    </p:dataTable>
                </p:panel>
                <input type="hidden" name="${_csrf.parameterName}"  value="${_csrf.token}" />
        </h:form>
        <!-- more things -->
        <script>
        /*<![CDATA[*/
            function autoScroll(){
                console.log("calling to auto scroll...");
                $(function(){
                    $(function(){
                        $("#form\\:tabla_Avaluos  tr:last").scrollintoview();
                    });
                });

            }
        /*]]>*/
        </script>
    </ui:define>
 </ui:composition>

当我加载页面时,查看firebug console此打印:

enter image description here

因此,当我加载页面时,页面永远不会自动滚动,因此如果在firebug console autoscroll中执行命令,则if(err) { debugLog('[DB] Error when loading ' + remoteClient.name + "'s (" + remoteClient.networkId + ') data: ' + err.code); } else if (rows.length === 0) { debugLog('Nothing returned from database'); } else { // ... } 工作。 我想知道我做错了什么?,

我该如何解决?

0 个答案:

没有答案