10

有人可以告诉我如何使用 JSF 修复数据表中列的宽度吗?

我的代码目前为:

<h:column>
    <f:facet name="header">
        <h:outputText value="Data Field 1" />
    </f:facet>
    <h:commandLink id="dataLink" action="#{pc_SearchResultsFragment.setField1}">
        <h:outputText value="#{(qi.data1 != null) ? '' : qi.data1}"/>                 
    </h:commandLink>
</h:column>

谢谢!

4

4 回答 4

18

通常你在 dataTable 上下文中使用 h:column 。

您可以做的是在 CSS 中设置宽度。如果你有代码:

<h:dataTable value="#{action.items}" var="name" 
styleClass="tableClass" columnClasses="first,second">

在 CSS 文件中,您执行以下操作:

.first {

   width: 250px;

}

那是假设你有 2 列。

在此处查看 dataTable 属性,您还可以在此处找到各种 CSS 相关属性。

于 2008-11-29T16:09:52.467 回答
3

我遇到了这个问题,我可以通过使用 h:datatable 的 columnclasses 属性来解决它。请参考标签库。

JSF 数据表

于 2011-03-04T10:38:24.923 回答
0

如果您使用的是 JSF 2.2,则可以通过使用其传递功能来解决此问题,并使用它将style属性从服务器端 XHTML 传递到客户端 html

像这样:

<h:column pt:style="width:20px;text-align:center;"></h:column>

解决了这个问题:

<td style="width:20px;text-align:center;"></td>

不要忘记同时添加xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"和使用所有其他 jsf 命名空间

于 2017-09-19T14:22:38.833 回答
-6
<h:column>
    <f:facet name="header">
        <h:outputText value="Data Field 1" />
    </f:facet>
    <h:commandLink id="dataLink" action="#{pc_SearchResultsFragment.setField1}">
        <h:outputText value="#{(qi.data1 != null) ? '' : qi.data1}"/>                     
    </h:commandLink>
    <%-- <f:attribute name="width" value="20" /> fixed width --%>
    <%-- or --%>
    <%-- <f:attribute name="width" value="20%" /> percentage --%>

    <%-- also available (not a complete list, just some of the more
         common supported attributes) --%>
    <%-- <f:attribute name="align" value="left" /> --%>
    <%-- <f:attribute name="height" value="20" /> --%>
    <%-- <f:attribute name="nowrap" value="true" /> --%>
    <%-- <f:attribute name="valign" value="top" /> --%>
    <%-- <f:attribute name="bgcolor" value="red" /> --%>
    <%-- <f:attribute name="style" value="color:White;" /> --%>
</h:column>
于 2008-11-28T20:16:53.453 回答