Primefaces [5,0]sposób montażu DataTable do panelu z max-procentowy wysokości
mam TabView trzymającego DataTable. W zależności od karty, datatable jest wypełniany różnymi danymi (tj. Inną liczbą kolumn i wierszy). Następująca konfiguracja obsługuje dane w porządku, ale bez względu na to, czy nałożę ograniczenie maksymalnej wysokości na panel, kartę lub datatable, nie wydaje się, aby ograniczało to do tego procentu ekranu. Jeśli ustawię ograniczenie na konkretną wartość (na przykład 300px), działa, ale wolałbym nie.
Zasadniczo: Chcę danych, które będą pasować do jego zawartości do tego stopnia, że zajmuje 30% ekranu. W tym momencie powinien przewijać.
<body style="min-width: 1366px;min-height: 768px;height: 100%;margin-left: 20px;">
<div style="width: 10%;float: left"> ... </div>
<div style="width: 90%;float: right">
<p:panel classStyle="panel" header="Instance Data View" style="width: 100%;max-height: 30%;margin-bottom: 1%">
<p:tabView value="#{pageBean.tables}" var="table" dynamic="true">
<p:tab title="#{table.tableName}" >
<p:dataTable var="row"
value="#{pageBean.tableData[table.tableName].data}"
resizableColumns="true">
<p:columns value="#{pageBean.tableData[table.tableName].columns}" style="white-space: normal;"
var="column" columnIndexVar="columnIndex">
<f:facet name="header">
<p:outputLabel value="#{column}"/>
</f:facet>
<p:outputLabel value="#{row[columnIndex]}"/>
</p:columns>
</p:dataTable>
</p:tab>
</p:tabView>
</p:panel>
...
</div>
</body>
Problem z tego rozwiązania jest to, że chcę DataTable mają być zawarte do konkretnego procentowa ekran - maksymalnie 30% tego. Jednak użycie ograniczenia scrollHeight w tym dniu ogranicza je do procentu * danych *. Ponieważ liczba rzędów, które będę miała, nie jest ustawiona w kamieniu, to nie rozwiązuje mojego problemu. Dodałem lepszy opis w moim pytaniu. – user2303325