如何设置colspan
,并rowspan
在JSF <h:panelGrid>
?
我有一个多列panelGrid设置,每个列都有dataTables.每个dataTable都是不同的长度.这导致panelGrid伸展以适应最大的dataTable(到目前为止,这很好).其余的dataTables是垂直居中的(这不好,因为它在屏幕上看起来很糟糕),而不是最合理的.
如何告诉panelGrid顶级证明内容?或者,我的方法是完全错误的,我需要做一些不同的事情(如果是这样,欢迎提出建议)?
我想创建<h:panelGrid>
一个列.但是在一行中我想在一个单元格中将两个组件放在一起.
例如
<h:panelGrid columns="1">
<h:outputText value="ROW 1 A"/>
<h:outputText value="ROW 1 B"/>
<h:outputText value="ROW 2"/>
</h:panelGrid>
Run Code Online (Sandbox Code Playgroud)
应该最终分成两排
行1行1行
2
但是,它目前最终成为
行1行
1行
2
如何将多个组件放在一个单元格中<h:panelGrid>
?
我需要使用primefaces隐藏所有panelgrids的所有边框.我试过他没有效果:
table {
border: none;
}
table tr, table td {
border: none;
}
Run Code Online (Sandbox Code Playgroud)
我能做什么?
我必须以恐怖的方式制作一份表格清单.它们中的每一个都具有可变数量的列(具有固定行).
为了执行此操作,我首先将<p:panelGrid>
内部放入<ui:repeat>
:所以我正确地生成了一个表列表.
然后,为了恐怖地制作柱子,我试着把它们放在一个 <ui:repeat>
或一个 <c:forEach>
里面<p:panelGrid>
.在结果中我没有获得任何行.
我在这里写了一个小例子.在bean中testBackingBean
,我已定义(并初始化)变量ArrayList<ArrayList<String>> tables
.这是不会产生预期结果的xhtml:
<ui:repeat var="table" value="#{testBackingBean.tables}">
<p:panelGrid>
<f:facet name="header">
<p:row>
<p:column >header of #{table}</p:column>
</p:row>
</f:facet>
<p:row>
<c:forEach var="row" items="${table}">
<p:column>#{row}</p:column>
</c:forEach>
</p:row>
</p:panelGrid>
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)
值得注意的是,标题行正确转换#{table}
为字符串.问题是我看不到任何数据行.
此外,如果我使用<table>
而不是<p:panelGrid>
一切工作如期望的那样.
另外,我尝试了不同的排列<c:forEach>
并<ui:repeat>
没有更迭.
那么,我怎样才能产生更多的表格(使用素数面)并设置一个dinamical数量的列?
谢谢!
编辑:我想使用两个<c:forEach>
,但即使只有一个<c:forEach>
我得到一个空的结果.事实上,如果我尝试以下xhtml:
<c:forEach items="${testBackingBean.tables}" var="tabella">
current element: #{tabella}
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
然后我得到一个空的结果.(我知道,这是一个不同的问题)
我想要一个<p:panelGrid>
(或<h:panelGrid>
)的布局,如下面的快照所示.
以下代码,
<p:panelGrid style="width: 100%;">
<p:row>
<p:column rowspan="9">a</p:column>
<p:column rowspan="7">b</p:column>
<p:column>c</p:column>
</p:row>
<p:row><p:column>d</p:column></p:row>
<p:row><p:column>e</p:column></p:row>
<p:row><p:column>f</p:column></p:row>
<p:row><p:column>g</p:column></p:row>
<p:row><p:column>h</p:column></p:row>
<p:row><p:column>i</p:column></p:row>
<p:row><p:column>j</p:column></p:row>
<p:row><p:column>k</p:column></p:row>
</p:panelGrid>
Run Code Online (Sandbox Code Playgroud)
显示如下快照所示的布局.
如何实现第一次拍摄中显示的布局?
我在PrimeFaces中的面板网格总是一个白色背景,但我找不到必须更改的内容,因为我尝试使用a styleClass
,修改ui-panelgrid
类的CSS代码,使用style
里面的标签p:panelGrid
,p:row
或者p:column
.没有任何效果.
尝试:
p:column style="background-color: transparent !important;"
Run Code Online (Sandbox Code Playgroud)
要么
.ui-panelgrid, .ui-panelgrid td { background-color: transparent !important; }
Run Code Online (Sandbox Code Playgroud)
截图:
我有以下内容<h:panelGrid>
:
<h:panelGrid columns="2" id="panelGrid" >
<!-- heading -->
<f:facet name="header">
User Details
</f:facet>
<h:outputLabel value="#{bundle.ViewUserdetailsLabel_id}"/>
<!-- adding in a small effect here that will fade a message when a user hovers over the id number or username -->
<h:outputLink id="id1" value="#">
<h:outputText id="id" value="#{userdetailsController.selected.id}" title="#{bundle.ViewUserdetailsTitle_id}"/>
</h:outputLink>
<p:tooltip for="id" value="This is your I.D. Number" showEffect="fade" hideEffect="fade" />
<h:outputText value="#{bundle.ViewUserdetailsLabel_username}"/>
<h:outputLink id="username1" value="#">
<h:outputText id="username" value="#{userdetailsController.selected.username}" title="#{bundle.ViewUserdetailsTitle_username}"/>
</h:outputLink>
<p:tooltip for="username" value="Your registered username, this can be changed" showEffect="fade" hideEffect="fade" /> …
Run Code Online (Sandbox Code Playgroud) panelgrid ×8
jsf ×7
primefaces ×5
css ×3
jsf-2 ×2
alignment ×1
background ×1
border ×1
datatable ×1
grid-layout ×1
html-table ×1
jsf-2.2 ×1