Полоса прокрутки диалогового окна Primefaces не отображается под заголовком

Я использую следующий диалог простых шрифтов и добавил прокрутку после максимальной высоты, используя атрибут стиля ниже.

Однако полоса прокрутки не отображается в заголовке, и в результате, когда я прокручиваю, заголовок прокручивается вместе с содержимым диалогового окна.

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

Я не хочу, чтобы заголовок прокручивался, и, желательно, я также хочу, чтобы полоса прокрутки отображалась под заголовком

Любые идеи?


person user3737958    schedule 04.07.2014    source источник


Ответы (3)


Избавьтесь от своего overflow:auto; и поместите каждый контент из вашего диалога в p:scrollPanel (проверьте здесь).

person rion18    schedule 04.07.2014
comment
Спасибо, мне пришлось поместить содержимое моего диалога вокруг следующего, чтобы заставить его работать: ‹p: scrollPanel mode = native style = max-height: 700px› - person user3737958; 04.07.2014
comment
Мне также пришлось сохранить свой заголовок (для которого я использовал тег f: facet) вне p: scrollPanel; в противном случае мой заголовок не будет отображаться должным образом - person user3737958; 04.07.2014

Другой очень простой альтернативой может быть использование свойства positionType диалогового окна.

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

Мне проще сделать вот так:

.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-вызова нельзя переключить, но на практике это не имеет значения.

person Jaqen H'ghar    schedule 16.05.2016