2013-05-13 28 views
0

我想显示一个使用panelgrid/panelgroup或任何可以建议我不是数据表,因为datatable需要列等显示列表,我不想做的列表在这种情况下。 我的输出应该是这样的例子,有多个讨论如下:使用panelgrid或除数据表以外的任何东西显示列表


员工姓名:名称:

业绩回顾:感兴趣的领域:

改进:


员工名称:名称:

业绩回顾:感兴趣的领域:

改进:


+0

这有什么错用'ul'元素? – undefined 2013-05-13 15:48:43

+0

如果我使用ul和li,那么输出就会下降,但是我想像上面那样显示 – SuperStar 2013-05-13 16:16:18

+0

您是否尝试过使用ui:repeat? – 2013-05-13 18:21:43

回答

0

可以使用<ui:repeat>用于循环的目的,因为它提供了markupless迭代在其value元素。在迭代中,您可以自由创建任何您想要的标记。这基本上意味着使用一些CSS可以通过使用嵌套的<div>或使用表生成标记(如<h:panelGrid>)或通过任何其他方法来实现所需的布局。

两个例子。第一个,无表格:

<ui:repeat value="#{bean.employees}" var="employee"> 
    <div class="employee-block"> 
     <div class="employee-line> 
      #{msg.title}<h:inputText value=#{employee.title} ... /> 
      ... 
     </div> 
    </div> 
</ui:repeat> 

第二个,使用表:

<ui:repeat value="#{bean.employees}" var="employee"> 
    <h:panelGrid columns="4"> 
     #{msg.title}<h:inputText value=#{employee.title} ... /> 
     ... 
    </h:panelGrid> 
</ui:repeat> 
0

的问题得到有效使用的UI解决:重复。那么它也可以在里面使用只有列属性的数据表。

<panelGrid> 
    <datatable value="#{list}" var="lst"> 
    <h:column> 
     <panelGrid> 
     <h:outputText value="#{lst.name}"/> 
     </panelGrid> 
    </h:column> 
    </dataTable> 
</panelGrid> 

<panelGrid> 
    <ui:repeat value="#{list}" var="lst"> 
     <panelGrid> 
     <h:outputText value="#{lst.name}"/> 
     </panelGrid> 
    </ui:repeat> 
</panelGrid> 
相关问题