2013-12-17 27 views
1

我们从jsf 1.2升级到jsf 2. 我们使用的是apache myfaces 2.1和丰富的face 4.3。rich:dataGrid边框问题丰富4

问题是我无法获得围绕<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”)设置边框。
和丰富:的数据网格(下边框宽度:10px的):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网址中指定的工作?

回答

1

我能够按照以获得所需的behavoiur改变

.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:dataTables>

0

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

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

或通过类使用CSS:

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

在你的CSS:

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

:感谢您的帮助。有效。现在问题是我们可以减少每个panelGrid之间的空间为零吗?每个面板网格都用边框呈现,但两者之间有空格。我想把空间减少到零。 – Atul

+0

我建议你学习CSS,因为你会在某些地方需要它。 –

+0

我可以通过覆盖的默认css属性来获得所需的行为。他们是.rf-dg-c。我可以减少这个空间。但是,谢谢你的回答。 – Atul

1

border-bottom-width:10px;不起作用,因为border-bottom-stylenone

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

+0

@markhiel:实际上做了同样的事情并能够解决问题。但上述方法的问题是它适用于全局,所以需要专门为创建样式表选择器。但是,在富面孔中,问题仍然是 4不支持row和columnClasses。所以需要修改ui以获得所需的行为 – Atul