rich:dataGrid边框发出丰富的面孔4

时间:2013-12-17 06:10:58

标签: jsf-2 richfaces

我们正在从jsf 1.2升级到jsf 2。 我们正在使用apache myfaces 2.1和富面4.3。

问题是我无法获得<rich:dataGrid>组件的边框。 我看过帖子描述了如何删除边框,但没有人指定如何获取边框。 看起来边框默认情况下是先前渲染的(当使用富面3时它们会出现)但是在升级到富面4之后,它们不会被渲染 默认情况下。 以下是xhtml片段。

<rich:dataGrid value="#{bean.getListValues}"  var="value" columns="1" rowKeyVar="index" id="qsns"
style="border-bottom-width:10px;">


        <h:panelGrid id="qsn#{index+1}"  border="10" columns="2">

                   <h:outputText value="qsn #{index+1}"/>
                   <h:selectOneMenu value="#{value.qsn}">
                 <f:selectItems value="#{bean.qsnPool}" />
                </h:selectOneMenu> 


                <h:outputText value="Answer"/>                                            
                    <h:inputText value="#{value.answer}"/>


        </h:panelGrid>  


</rich:dataGrid>

我还尝试在上面的代码段中为panelGrid(border =“10”)明确设置边框。
和rich:dataGrid(border-bottom-width:10px),但根据url:http://docs.jboss.org/richfaces/latest_4_2_X/Component_Reference/en-US/html/chap-Component_Reference-Tables_and_grids.html#sect-Component_Reference-Tables_and_grids-richlist

,它在url中的工作方式不正常

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

border-bottom-width:10px;无效,因为border-bottom-stylenone

<rich:datagrid>周围的边框未在一个元素上定义。左边框和上边框是在数据网格类rf-dg上定义的。底部和右侧在网格单元格rf-dg-c上定义。如果要更改所有边框,则必须覆盖这些类。

答案 1 :(得分:1)

我可以通过以下更改获得所需的行为

.tableClass1 .rf-dg-c{   
      border: 1px solid #000;
}
table.tableClass1.rf-dg{     
     border-collapse:collapse;
}


<rich:dataGrid value="#{bean.getListValues}"  var="value" columns="1" rowKeyVar="index" id="qsns"
styleClass="tableClass1">

        <h:panelGrid id="qsn#{index+1}"  border="10" columns="2">

                 <h:outputText value="qsn #{index+1}"/>
                 <h:selectOneMenu value="#{value.qsn}">
                    <f:selectItems value="#{bean.qsnPool}" />
                 </h:selectOneMenu> 


                 <h:outputText value="Answer"/>                                            
                 <h:inputText value="#{value.answer}"/>


        </h:panelGrid>  

</rich:dataGrid>

使用上述样式类和xhtml代码,可以完美呈现边框。

第一个样式表为网格单元格和第二个样式表折叠呈现边框 相邻单元格边框之间的空间(因为cellspacing属性不适用于rich:dataGrid)

以上选择器仅适用于本地<rich:dataGrid>,这意味着不会影响全局<rich:dataTables>

答案 2 :(得分:0)

border属性没有做太多,尝试使用CSS样式:

 <h:panelGrid style="border: 1px solid #000;"> ...

或者通过类使用CSS:

<h:panelGrid styleClass="myClass"> ...

在你的CSS中:

.myClass {
  border: 1px solid #000;
}