我有一个带有table-layout:fixed的JSF datatable,我试图为每列设置基于百分比的宽度。我想,如果我在IE中为标题添加一个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>
有帮助吗?

解决方案

您可以使用 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>

与e.g.这个CSS

.col1 { width: 20%; }
.col2 { width: 30%; }
.col3 { width: 50%; }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top