0

簡単そうに見えますが、私にはできません。各行に 3 つの一連の画像を表示する必要があります。たとえば、コレクションに 9 つの要素がある場合、3 x 3 の表に 9 つの画像を表示する必要があります。私はこのコードを試しています:

     <h:form>
        <ice:panelGrid columns="3">
            <ui:repeat var="user" value="#{indexBean.users}" >
                <ice:panelGrid columns="1">
                    <ice:graphicImage value="#{user.picture}"/>
                    <ice:outputText value="#{user.name}"/>
                </ice:panelGrid>
            </ui:repeat>
        </ice:panelGrid>
    </h:form>

しかし、3 列の順序付けられたテーブルの代わりに、1 つの画像が別の画像の下に表示されます。すべてのアイテムを横に並べることはできますcss: display:inlineが、線は 3 つから 3 つの要素にカットされません。すべての要素を含む「無限」の行が表示されます。

助けてください。ありがとう!

4

2 に答える 2

1

解決策を見つけました。ui:repeat で生成されたデータのコンテナーとして DIV を使用します。次に例を示します。

.panel_users {
    width:600px;
    height:400px;
    background-color:lightskyblue;
    margin:10px;
    overflow: auto;
    float:left;
}

 <h:form>
    <div class="panel_users">
        <ui:repeat var="user" value="#{indexBean.users}" >
            <ice:panelGrid columns="1" style="float: left;">
                <ice:graphicImage value="#{user.picture}"/>
                <ice:outputText value="#{user.name}"/>
            </ice:panelGrid>
        </ui:repeat>
    </div>
</h:form>

style="float: left;"panelGrid でそれらを水平方向に並べるために重要です。私の英語でごめんなさい:-)

于 2012-04-16T13:23:03.757 に答える
1

それ以外の

<ice:panelGrid columns="1">

使ってみて

ice:panelGroup

編集:コメントによると

議論されているほぼ同様の問題

于 2012-04-16T04:16:52.133 に答える