h: панель Grid несогласованное выделение ячеек

Моя страница: ---

Что-то заставляет panelGrid создавать пустую ячейку в несколько строк.

Я хотел бы иметь видимую таблицу из двух столбцов, первый столбец - метку, второй столбец - элемент inputText или selectMenu с всплывающей подсказкой.

Мой обходной путь заключался в следующем: создайте таблицу из 3 столбцов, и когда panelGrid решит не создавать пустую ячейку, добавьте <br></br> предложить это сделать.

            <h:panelGrid columns="3" style="text-align:left">
                <p:remoteCommand name="startJobActivate" actionListener="#{provisioningBean.startJobActivate}" />

                <h:outputLabel for="longitudeIdAct" value="Longitude: " />
                <p:inputText id="longitudeIdAct" value="#{provisioningBean.longitude}" title="Longitude" />
                <p:watermark for="longitudeIdAct" value="Longitude" />

                <h:outputLabel id="equipmentDropMenuActLabel" for="equipmentDropMenuAct" value="#{provisioningBean.accessDeviceLabel}" />
                <p:selectOneMenu id="equipmentDropMenuAct" value="#{provisioningBean.equipment}" title="Not needed for CSI or SIP"
                    disabled="#{provisioningBean.equipDisabled}" style="width: 100% !important">
                    <f:selectItem itemLabel=" Equipment" itemValue="" noSelectionOption="true" />
                    <f:selectItems value="#{provisioningBean.equipments}" />
                </p:selectOneMenu>
                <p:tooltip for="equipmentDropMenuAct" />

                <h:outputLabel for="rangeActId" value="Range: " />
                <p:spinner id="rangeActId" value="#{provisioningBean.rangeAct}" min="1" title="Amount of telephone numbers to provide" size="3"
                    disabled="#{provisioningBean.rangeDisabled}" />
                <br></br>
            </h:panelGrid>

Это ошибка? Что мне здесь не хватает?

РЕДАКТИРОВАТЬ: О, аккуратно! Мне удалось создать минимальный пример, и он все еще имеет ту же проблему: D https://gist.github.com/WurmD/f3cb45669e6871acc77462f34891862f

скриншот - вам нужно 10 представителей для публикации изображений

Так что это 3 столбца h:panelGrid, но третья ячейка занята чем-то

EDIT2: такое же поведение с p:panelGrid

1 ответ

Решение

Спасибо Kukeltje за этот ответ:

h: panelGrid columns = "3" означает "начинать новую строку после каждого третьего элемента"

Таким образом, либо поместите водяные знаки (и другие невидимые элементы) вне h:panelGrid, либо используйте h:panelGroup для группировки вещей, которые должны занимать только одну ячейку в таблице:

<p:remoteCommand name="startJobActivate" actionListener="#{provisioningBean.startJobActivate}" />
<p:panelGrid columns="2" style="text-align:left">
    <h:outputLabel for="orderIdAct" value="Order Number: *" />
    <p:inputText id="orderIdAct" value="#{provisioningBean.orderNumberAct}" label="orderId" title="Order Number" />

    <h:outputLabel for="customerNameIdAct" value="Customer: *" />
    <h:panelGroup>
        <!-- h:panelGroup to group things that should only occupy 1 cell in the table -->
        <p:inputText id="customerNameIdAct" value="#{provisioningBean.customerName}" title="Customer Name" />
        <p:watermark for="customerNameIdAct" value="Customer Name" id="watermarkcustomerNameIdAct" />
    </h:panelGroup>

</p:panelGrid>
<p:panel id="executePanelAct">
    <p:commandButton value="Execute Activation" id="actvateButton" update=":form:growl" styleClass="executeButton" />
</p:panel>
<!-- Items that don't need to be in panelGrid -->
<p:watermark for="orderIdAct" value="Order Number" id="watermarkorderIdAct" />
Другие вопросы по тегам