Как изменить ширину столбца панели в PrimeFaces

Я работаю с Java EE и PrimeFaces. Как изменить ширину столбца панели в PrimeFaces? Есть ли пример?

Ответ 1

Вы можете квалифицировать свои столбцы внутри панели Panel с помощью columnClasses. Следующий код устанавливает различную ширину и привязывает содержимое ячеек, выровненное к верхней стороне.

<h:panelGrid columns="2" style="width: 100%" columnClasses="forty-percent top-alignment, sixty-percent top-alignment">
.forty-percent {
     width: 40%;
}

.sixty-percent {
     width: 60%;
}

.top-alignment {
     vertical-align: top;
}

Ответ 2

У меня была аналогичная проблема, и вот мое решение:

<p:panelGrid style="width:100%"> # notice that I do not define columns attribute in p:panelGrid!!
    <f:facet name="header"> # header
        <p:row> # p:row and p:column are obligatory to use since we do not define columns attribute!
            <p:column colspan="2"> # here I use colspan=2, coz I have 2 columns in the body
                Title
            </p:column>
        </p:row>
    </f:facet>

    <p:row>
        <p:column style="width:150px"> # define width of a column
            Column 1 content
        </p:column>
        <p:column> # column 2 will fill the rest of the space
            Column 2 content
        </p:column>
    </p:row>

    <f:facet name="footer"> # similar as header
        <p:row>
            <p:column colspan="2">
                Footer content
            </p:column>
        </p:row>
    </f:facet>
</p:panelGrid>

Итак, как вы можете видеть, основное отличие состоит в том, что вы не определяете атрибут столбцы в p: panelGrid. В верхнем и нижнем колонтитулах вы должны использовать p: row и p: column, и в моем случае мне также нужно использовать colspan = 2, поскольку в теле есть 2 столбца.

Надеюсь, что это поможет;)