4

<p:panelGrid>我想要一个(或)的布局,如下<h:panelGrid>图所示。

在此处输入图像描述

以下代码,

<p:panelGrid style="width: 100%;">
    <p:row>
        <p:column rowspan="9">a</p:column>
        <p:column rowspan="7">b</p:column>
        <p:column>c</p:column>
    </p:row>

    <p:row><p:column>d</p:column></p:row>
    <p:row><p:column>e</p:column></p:row>
    <p:row><p:column>f</p:column></p:row>
    <p:row><p:column>g</p:column></p:row>
    <p:row><p:column>h</p:column></p:row>
    <p:row><p:column>i</p:column></p:row>
    <p:row><p:column>j</p:column></p:row>
    <p:row><p:column>k</p:column></p:row>
</p:panelGrid>

显示如下快照所示的布局。

在此处输入图像描述

如何实现第一个快照中所示的布局?

4

1 回答 1

12
        <p:panelGrid style="width: 100%;">
            <p:row>
                <p:column rowspan="7">a</p:column>
                <p:column rowspan="5">b</p:column>
                <p:column>e</p:column>
            </p:row>

            <p:row>
                <p:column>f</p:column>
            </p:row>

            <p:row>
                <p:column>g</p:column>
            </p:row>

            <p:row>
                <p:column>h</p:column>
            </p:row>

            <p:row>
                <p:column>i</p:column>
            </p:row>

            <p:row>
                <p:column>c</p:column>
                <p:column>j</p:column>
            </p:row>

            <p:row>
                <p:column>d</p:column>
                <p:column>k</p:column>
            </p:row>

        </p:panelGrid>

解释:

在此处输入图像描述

每行都将尝试将自己放置在有空间的前一行下方(其中一列不跨越多行)。

所以在第一行之后:接下来的行将被放置在以下位置:

在此处输入图像描述

但是由于您希望第 6 行和第 7 行有 2 列,因此您需要向它们添加第二列。

希望这能澄清一点。

于 2014-06-12T06:13:39.277 回答