2010-08-18 54 views
7

¿Cómo establecer el ancho de columna para un rich:column dentro de un rich:datatable? El atributo width se está ignorando. Ver el siguiente código:ancho de columna en rich: datatable

<rich:column label="#{msg[result]}" width="150px"> 
<f:facet name="header"> 
    <h:outputText value="#{veryLongText}"/> 
</f:facet> 
<h:outputText value="#{someValue}" /> 
<f:facet name="footer"> 
    <h:outputText value="#{someValue}" /> 
</f:facet> 
</rich:column> 

Si renderiza esta columna y veryLongText es más ancho que 150 píxeles que no se rompe en varias líneas. En cambio, simplemente ignora el ancho de la columna y requiere tanto espacio como sea necesario.

¿Cómo solucionar esto?

Respuesta

11

Try 's <rich:column> el atributo headerClass, así como:

<rich:column headerClass="myWidth"> 
... 
</rich:column> 

Luego, en el CSS (incorporado o vinculado):

.myWidth {width:150px} 

Usted también puede tener alguna propiedad contravenir "espacio en blanco" CSS que entran en juego en alguna parte, así que sería bueno para especificar el selector .myWidth como tan:

.myWidth {width:150px; white-space:normal!important} 
+1

solución perfecta. ¡Gracias! – pakore

2

uso:

style="width:150px"

o styleClass="myColumnClass" donde se agrega en su CSS

.myColumnClass{ 
width: 150px; 
} 
+0

Nop, eso no funciona. El ancho de la columna sigue siendo tan ancho como 'veryLongText'. – pakore

1

puede utilizar esto:

<rich:column width="60px"> 
    <f:facet name="header"> 
     <h:outputText value="#{veryLongText}" /> 
    </f:facet> 
    <div style="overflow:hidden;width:60px"> 
     <h:outputText value="#{someValue}" /> 
    </div> 
</rich:column> 
3

Si usted quiere lograr con el uso de columnas word-wrap este uno ....

<div style="overflow: hidden;width: 300px;word-wrap: break-word; "> 
    <h:outputText value="#{someValue}" /> 
</div> 

Se ha probado tanto en Mozilla como en IE 8.0.

Cuestiones relacionadas