Primefaces p:scrollPanel刚刚刷新后没有初始化

时间:2016-04-22 10:59:46

标签: jsf primefaces

我所有的代码都是这样的:

<p:scrollPanel mode="native" style="width:238px;height:400px">
     <p:tree value="#{templateController.model.tree}" var="node" style="width:218px" onNodeClick="Utils.SelectFromTreeTable(node);">
         <p:treeNode>
             <h:outputText value="#{node}" style="font-size:12px;"/>
         </p:treeNode>
     </p:tree>
</p:scrollPanel>

我的问题是,当我使用ajax加载页面并更新页面时,我认为p:scrollPanel未初始化,因为如果我打开树并且树比滚动窗口大,那么树会从scrollPanel生长出来。如果我刷新页面然后在同一个动作上出现一个滚动条,树不会从p:scrollPanel中长出来。为什么会发生这种情况?如何解决此问题?

1 个答案:

答案 0 :(得分:2)

使用<p:panel>您的问题应该得到解决

<p:scrollPanel mode="native" style="width:238px;height:400px">
<p:panel  style="width:230px;height:380px;overflow:auto !important"
     <p:tree value="#{templateController.model.tree}" var="node" style="width:218px" onNodeClick="Utils.SelectFromTreeTable(node);">
         <p:treeNode>
             <h:outputText value="#{node}" style="font-size:12px;"/>
         </p:treeNode>
     </p:tree>
</p:panel>
</p:scrollPanel>

或尝试在overflow:auto

中添加<p:scrollPanel>