2016-10-23 8 views
1

少し問題があります。私は私の画面に行ごとに4列を表示したい、問題は、データがループから生成されることです。データに基づいて一般的な列と行を表示します。サイズ

ここでI iはデータサイズが大きくなるにつれて、よりように各行ごとに4によってそれらに4を表示することができるシューッという音私のコード

hello.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:c="http://java.sun.com/jsp/jstl/core" 
     xmlns:p="http://primefaces.org/ui"> 
    <head> 
    <title>JSF Tutorial!</title> 
    </head> 
    <body> 
     <h:inputHidden value="#{helloWorld.init()}"></h:inputHidden> 
     #{helloWorld.getMessage()} 
     <ui:repeat var="user" value="#{helloWorld.users}"> 
       <div style="border: 1px solid red; width: 10%; margin-top: 1%;"> 
        <p>#{user.address}</p> 
       </div> 
     </ui:repeat> 
    </body> 
    </html> 

The actual view

あります。

PS:ブートストラップは使用できません。

ありがとうございました。

答えて

0

はあなたのCSSでフォロー行を追加してみてください。私はいくつかの方法

+1

単に浮動小数点数を追加するだけで列が決して得られません –

+1

@JasperdeVriesは正しいです...これをn番目のdivごとに適用するセレクタと組み合わせて追加します。また、画面の不動産に応じて、これらをメディアクエリーに入れることもできます(4,6、または5)。 10の行が表示される – Kukeltje

0

に役立っていると思ってい

float: left; 

は、あなたの<h:panelGrid><ui:repeat>columnsを使用して列の数を指定をラップしようとしたことがあり属性。

0

利用ああ:panelGridあなたのような列を定義することができます...私はこのコードをしようとしなかったと言わなければならないので、それが働いていた場合、私は知らないこの

<h:panelGrid columns="4" cellpadding="5" > 
     <ui:repeat var="user" value="#{helloWorld.users}"> 
       <div style="border: 1px solid red; width: 10%; margin-top: 1%;"> 
         <p>#{user.address}</p> 
       </div> 
     </ui:repeat> 
</h:panelGrid> 

のようなものが、それがあなたを助けて欲しい!

関連する問題