2016-04-27 13 views
1

ich verwende Primefaces 5.2.x implementiert ich ein Datagrid:Primefaces Datagrid dynamische Anzahl der Spalten auf der Anzeigebreite abhängig

<p:dataGrid var="data" value="#{dataGrid.data}" columns="3" layout="grid" 
         rows="12" paginator="true" id="dataview"> 
<f:facet name="header"> 
    Ihre Daten 
</f:facet> 
<p:commandLink update=":form:dataDetail" oncomplete="PF('dataDialog').show()" title="View Detail"> 
    <p:panel header="#{data.id}" style="text-align:center"> 
     <p:panelGrid columns="1" style="width:100%"> 
      <h:outputText value="#{data.nummer}" /> 
      <h:outputText value="#{data.name}" /> 
      <h:outputText value="#{data.kurzname}" /> 
      <h:outputText styleClass="ui-icon ui-icon-search" style="margin:0 auto;" /> 
     </p:panelGrid> 
    </p:panel> 
    <f:setPropertyActionListener value="#{data}" target="#{dataGrid.selectedData}" /> 
</p:commandLink></p:dataGrid> 

Das bisher funktioniert. Aber jetzt habe ich immer 3 Panels in eigener Reihe. auf iPhone 6, auf dem Tablet, auf dem Desktop immer 3 Spalten pro Zeile. Nur wenn ich die Breite stark reduziere. Es bricht, um nur einen Eintrag pro Zeile anzuzeigen.

Jetzt möchte ich das auf mobilen Geräten, wie iPhone, standardmäßig wird nur ein Eintrag pro Zeile angezeigt. Auf Tablets zwei und auf Desktop drei.

Wie kann ich das tun? Danke

Antwort

0

vielleicht sollten Sie auf die neueste Version von PrimeFaces aktualisieren.

Schauen Sie hier, und probieren Sie es aus. Das Datagrid reagiert.

DataGrid demo

+1

Es ist in der Tat anspricht, aber ‚voll ansprechbar‘ ist meiner Meinung nach zu viel. Es hat nicht die Möglichkeit, 8, 5, 3 Spalten für verschiedene Fenstergrößen zu konfigurieren (soweit ich weiß). Dies könnte jedoch eine nette Ergänzung sein. Vielleicht sollten wir eine Verbesserungsanfrage einreichen. – Kukeltje

+0

können Sie mit CSS optimieren, wenn das Standardverhalten die Anforderungen nicht erfüllt. –

+0

Ich weiß, aber ich könnte ein reaktionsfähiges Datagrid mit einigen divs, ui: wiederholen, einige css usw. auch erstellen. ;-) Es als Teil einer "reaktionsschnellen" Komponente zu haben wäre noch besser. – Kukeltje

Verwandte Themen