У меня есть веб-приложение JSF 2, использующее компоненты PrimeFaces 3.0.На одной странице я использую компонент <p:dataTable>
внутри составного компонента для отображения таблицы объектов.У меня был успех с этим компонентом, пока я не попытался использовать опцию scrollable="true"
.Теперь заголовки столбцов таблицы не совпадают с содержимым столбцов.Я попытался использовать IE 7 (который является целевым браузером для моей клиентской среды) и Firefox 4.0.1 для сравнения.Оба демонстрируют проблему, но она более выражена в IE 7.
Скриншот IE 7 :
Скриншот Firefox 4.0.1 :
Вот код моей страницы Facelet:
<p:dataTable
id="vesselsDataTable"
value="#{cc.attrs.vesselAdapterList}"
var="currentRow"
selection="#{editVesselBean.selectedRow}"
selectionMode="single"
scrollable="true"
height="500">
<p:column
id="imoColumn"
style="width:45px"
sortBy="#{currentRow.imo}">
<f:facet name="header">
<h:outputText value="IMO" />
</f:facet>
<div class="#{currentRow.imoStyleClass}">
<h:outputText value="#{currentRow.imo}"
</div>
</p:column>
<p:column
id="notesIndicatorColumn"
style="width:35px"
sortBy="#{currentRow.hasNotes}">
<f:facet name="header">
<h:outputText value="#{bundle.labelNotes}" />
</f:facet>
<h:outputText
styleClass="noteIndicator"
id="vesselNotesIndicator"
value="#{bundle.stringNoteIndicatorText}"
title="#{currentRow.notesAsTooltipText}"
rendered="#{currentRow.hasNotes}"
</p:column>
<ui:remove>other column definitions omitted for brevity...</ui:remove>
<p:dataTable>
У каждого из моих столбцов есть определенный стиль с фиксированной шириной в пикселях, а в самой dataTable установлен атрибут height
.Это похоже на то, что показано в демонстрационной версии Showcase и в PDF-руководстве по 2.2.
Цитируя это руководство:
Прокрутка - это способ отображенияДля данных с фиксированными заголовками, чтобы включить простую прокрутку, установите для параметров прокрутки значение true, определите фиксированную высоту в пикселях и установите фиксированную ширину для каждого столбца.
Может кто-нибудь сказатьмне, что я делаю не так?
Я использую текущий PrimeFaces 3.0-M2-SNAPSHOT с текущим Mojarra 2.1 JSF RI.
UPDATE
Я перешел на версию PrimeFaces 3.0-M2 (не снимок), и проблема все еще существует.Следуя предложениям Maple и BalusC, я (временно) удалил сортировку столбцов и попробовал разные типы документов.Я наконец остановился на XHTML 1.0 Strict doc type.Он не показывает каких-либо улучшений в IE 7, но показывает некоторое улучшение в Firefox 4.
IE 7 с XHTML 1.0 Strict
Firefox 4 с XHTML 1.0 Strict
<p:dataTable>
находится внутри <p:panel>
, который находится внутри <p:layout>
.Может ли это быть связано?