Проблема с разметкой стола - PullRequest
1 голос
/ 29 июня 2010

У меня есть три выпадающих списка <h:selectOneMenu> и <p:dataTable>. Я хочу, чтобы три раскрывающихся списка были рядом с таблицей данных. Как я сейчас вижу, три раскрывающихся списка находятся над таблицей данных. Я пытаюсь создать таблицу большего размера и поместить три раскрывающихся списка в один столбец, а затем поместить <h:dataTable> в другой столбец, чтобы получить расположение рядом, но это не работает. Вот что я получил до сих пор

        <h:selectOneMenu id="customer" value="#{DMBackingBean.customer}">
            <f:selectItem itemLabel="Select Customer" itemValue="" />
            <f:selectItems value="#{DMBackingBean.customers}"/>
            <p:ajax actionListener="#{DMBackingBean.handCustomerChange}" update="facility" event="change"/>
        </h:selectOneMenu>
        <br/><br/>
        <h:selectOneMenu id="facility" value="#{DMBackingBean.facility}">
            <f:selectItem itemLabel="Select Facility" itemValue=""/>
            <f:selectItems value="#{DMBackingBean.facilities}"/>
        </h:selectOneMenu>
        <br/><br/>
        <h:selectOneMenu id="project" value="#{DMBackingBean.project}">
            <f:selectItem itemLabel="Select Projet" itemValue=""/>
            <f:selectItems value="#{DMBackingBean.projects}"/>
        </h:selectOneMenu>
        <p:dataTable var="item" value="#{DMBackingBean.drawings}" selection="#{DMBackingBean.selectedDrawing}" selectionMode="single">
            <p:column>
                <f:facet name="header">
                    <h:outputText value="DrawingType"/>
                </f:facet>
                <h:outputText value="#{item.drawingType}"/>
            </p:column>
            ...
        </p:dataTable>

1 Ответ

2 голосов
/ 30 июня 2010

Два способа:

  1. Создайте h:panelGrid и поместите выпадающие списки в один h:panelGroup. h:panelGrid отображает элемент HTML <table> с каждым дочерним элементом в своем собственном элементе <td>.

    <h:panelGrid columns="2">
         <h:panelGroup>
             <h:selectOneMenu>...</h:selectOneMenu>
             <h:selectOneMenu>...</h:selectOneMenu>
             <h:selectOneMenu>...</h:selectOneMenu>
         </h:panelGroup>
         <h:dataTable>...</h:dataTable>
    </h:panelGrid>
    
  2. Оберните выпадающие списки в <h:panelGroup layout="block">, он отобразит элемент HTML <div>. Затем примените CSS float:left; к <h:panelGroup> и <h:dataTable>.

    .
     <h:panelGroup layout="block" styleClass="left">
         <h:selectOneMenu>...</h:selectOneMenu>
         <h:selectOneMenu>...</h:selectOneMenu>
         <h:selectOneMenu>...</h:selectOneMenu>
     </h:panelGroup>
     <h:dataTable styleClass="left">...</h:dataTable>
    

    с

    .left { float: left; }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...