rich:dbatable中的列宽

时间:2010-08-18 13:39:18

标签: css richfaces jsf-2

如何在rich:column内设置rich:datatable的列宽? width属性被忽略。请参阅以下代码:

<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>

如果您渲染此列并且veryLongText宽于150px,则不会在多行中将其分解。相反,它只是忽略列宽并占用所需的空间。

如何解决这个问题?

4 个答案:

答案 0 :(得分:12)

尝试<rich:column>的{​​{1}}属性,如下所示:

headerClass

然后,在您的CSS(嵌入或链接)中:

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

您可能还会在某处发挥一些违反“空白”的CSS属性,因此您可能需要指定.myWidth {width:150px} 选择器:

.myWidth

答案 1 :(得分:3)

如果你想用word-wrap实现列,请使用这个....

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

在Mozilla和IE 8.0上都进行了测试。

答案 2 :(得分:2)

使用:

style="width:150px"

styleClass="myColumnClass" 你在CSS中添加的地方

.myColumnClass{
 width: 150px;
}

答案 3 :(得分:1)

你可以用这个:

<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>