【问题标题】:Primefaces dialog scrollbar not showing up below the headerPrimefaces对话框滚动条未显示在标题下方
【发布时间】:2014-08-25 21:19:24
【问题描述】:

我正在使用以下 primefaces 对话框,并使用下面的样式属性在最大高度后添加了滚动。

但是,滚动条没有显示在标题中,因此,当我滚动时,标题与对话框的内容一起滚动。

<p:dialog header="#{resName}" widgetVar="resDialog" resizable="false" style="max-height:900px;overflow:auto">

我不希望标题滚动,最好我还希望滚动条显示在标题下方

有什么想法吗?

【问题讨论】:

    标签: css jsf primefaces el


    【解决方案1】:

    摆脱您的overflow:auto; 并将对话框中的所有内容放在p:scrollPanel 中(检查here)。

    【讨论】:

    • 谢谢,我必须将对话框的内容放在以下位置才能使其正常工作:
    • 我还必须将我的标题(为此我使用了 f:facet 标签)保留在 p:scrollPanel 之外;否则,我的标题将无法正确显示
    【解决方案2】:

    另一个非常简单的替代方法是使用对话框的positionType 属性。

    <p:dialog header="#{resName}" widgetVar="resDialog" resizable="false" positionType="absolute">
    

    【讨论】:

      【解决方案3】:

      我发现这样做更容易:

      .ui-dialog-content{ 
          max-width: 950px !important; 
          max-height: 700px !important;
          margin-bottom: 5px !important;
      }
      

      这应该同时针对所有对话框。

      要打开对话框并滚动到它的顶部(如果它之前已经打开过),请这样做

      <p:commandButton .... 
         oncomplete="PF('dialogwv').show(); PF('dialogwv').content.scrollTop('0')" />
      

      注意:这两个 PF 调用不能切换,但实际上没关系..

      【讨论】:

      • 正是我所需要的。非常感谢:)
      • @oggiemc 如果您愿意,我认为您可以将最后一部分放在对话框的 onShow() 中
      猜你喜欢
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多