如何构建动态网格并仅显示一行中的三列(JSF 2.2 和 BootsFaces)
How to build a dynamic grid and only show three columns in a row (JSF 2.2 and BootsFaces)
我正在尝试使用 Bootsfaces 和 JSF 2.2 布局页面。我喜欢在一行中只显示三列,然后开始新的一行,但不知道如何实现。
<h:form>
<b:container>
<b:row>
<ui:repeat value="#{ClientBean4.custs}" var="custs">
<b:column col-md="4"><h:outputText id="output" value="#{ClientBean4.counter}" /> </b:column>
<h:panelGroup rendered="#{ClientBean4.counter == 0}">
</b:row><b:row>
</h:panelGroup>
</ui:repeat>
</b:row>
</b:container>
</h:form>
很久以后,我写了上面的代码,但是它给出了像'h:panelgroup'这样的错误应该正确关闭。它给出了意义,我开始 panelGroup 然后关闭一行,开始一个新行,然后关闭 panelGroup。
那么,有没有人知道如何实现布局,其中一行将包含三列(每列显示客户的对象详细信息),然后关闭该行并开始新行。显然,我不知道列表中会有多少对象。
BootFaces 提供了一个组件来处理这个问题。更具体地说,您可以使用 <b:panelGrid columns="3">
来实现这一点。这将为您提供一个动态网格系统,该系统将在您填充它时垂直增长,但保留您指定的行数。
您可以在此处查看正在运行的组件,https://showcase.bootsfaces.net/layout/panelgrids.jsf
PrimeFaces 也有一个组件,但我假设您想使用 BootFaces,因为您的原始代码使用它。如果您更喜欢 PrimeFaces,则可以使用 <p:dataGrid>
组件,它的功能与此类似。该组件甚至可以处理分页。
我正在尝试使用 Bootsfaces 和 JSF 2.2 布局页面。我喜欢在一行中只显示三列,然后开始新的一行,但不知道如何实现。
<h:form>
<b:container>
<b:row>
<ui:repeat value="#{ClientBean4.custs}" var="custs">
<b:column col-md="4"><h:outputText id="output" value="#{ClientBean4.counter}" /> </b:column>
<h:panelGroup rendered="#{ClientBean4.counter == 0}">
</b:row><b:row>
</h:panelGroup>
</ui:repeat>
</b:row>
</b:container>
</h:form>
很久以后,我写了上面的代码,但是它给出了像'h:panelgroup'这样的错误应该正确关闭。它给出了意义,我开始 panelGroup 然后关闭一行,开始一个新行,然后关闭 panelGroup。
那么,有没有人知道如何实现布局,其中一行将包含三列(每列显示客户的对象详细信息),然后关闭该行并开始新行。显然,我不知道列表中会有多少对象。
BootFaces 提供了一个组件来处理这个问题。更具体地说,您可以使用 <b:panelGrid columns="3">
来实现这一点。这将为您提供一个动态网格系统,该系统将在您填充它时垂直增长,但保留您指定的行数。
您可以在此处查看正在运行的组件,https://showcase.bootsfaces.net/layout/panelgrids.jsf
PrimeFaces 也有一个组件,但我假设您想使用 BootFaces,因为您的原始代码使用它。如果您更喜欢 PrimeFaces,则可以使用 <p:dataGrid>
组件,它的功能与此类似。该组件甚至可以处理分页。