在固定大小的表中设置JSF列标题的宽度

Sto*_*jes 4 datatable jsf column-width facet

我有一个表格布局的JSF数据表:固定,我试图为每列设置基于百分比的宽度.我想如果我在IE中的标题中添加一个width属性,那么它按预期工作.但是,我无法弄清楚如何在代码中添加此width属性.我在facet标题中添加了一个属性,但是没有用.它也没有在列标签内设置它.

如果有人可以帮助我,将不胜感激.

<h:column>
     <f:facet name="header">
         <h:outputText 
             value="#{messageSource['tasks.headline.task']}" />
             <f:attribute name="width" value="20%"/>
     </f:facet>
     <t:commandLink id="lookAtTask" action="lookAtTask">
         <t:updateActionListener property="#{flowScope.localTask}"
             value="#{data.task}" />
         <h:graphicImage url="/images/icon_properties_16x16.gif"
             alt="#{messageSource['tasks.headline.task']}" />
     </t:commandLink>
</h:column>
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 8

您可以使用该headerClass属性<h:column>指定标题的样式类.

<h:dataTable ...>
    <h:column headerClass="col1">
        <f:facet name="header">...</f:facet>
        ...
    </h:column>
    <h:column headerClass="col2">
        <f:facet name="header">...</f:facet>
        ...
    </h:column>
    <h:column headerClass="col3">
        <f:facet name="header">...</f:facet>
        ...
    </h:column>
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)

例如这个CSS

.col1 { width: 20%; }
.col2 { width: 30%; }
.col3 { width: 50%; }
Run Code Online (Sandbox Code Playgroud)