JSF rich:datatable列在多行中显示非常长的文本

时间:2014-12-21 19:16:51

标签: css jsf jsf-2 richfaces richdatatable

我在jsf .xhtml页面中有一个richdatatable。我有一个特定单元格的长文本。 如何设置列的宽度并显示指定单元格内的文本。 我是JSF和CSS的新手。我正在提供一个例子。假设我在richdatatable中有两列,其中一列有很长的文本。我希望非常长的文本以行(换行文本)而不是单行显示。我不确定在哪里,如何以及将什么作为CSS的一部分

<ui:composition template="/template.xhtml">
    <ui:define name="title">
        <h:outputText value="#{bundle.ViewFileTitle}"></h:outputText>
    </ui:define>
    <ui:define name="body">
    <h:form>
            <rich:dataTable value="#{fileController.feedbackFileItems}" var="item" id="table">
                    <rich:column>
                       <f:facet name="header">
                            <h:outputText value="#{bundle.ListFeedbackTitle_feedbackPK_feedbackId}"/>
                        </f:facet>
                        <h:outputText value="#{item.feedbackPK.feedbackId}"/>
                    </rich:column>
                    <rich:column>
                        <f:facet name="header">
                            <h:outputText value="#{bundle.ListFeedbackTitle_department}"/>
                        </f:facet>
                        <h:outputText value="#{item.department}"/>
                    </rich:column>
            </rich:dataTable>
            </h:form>
    </ui:define>
</ui:composition>

1 个答案:

答案 0 :(得分:1)

对于在多行显示长文字,您可以使用width的{​​{1}}属性:

rich:column

<rich:column width="150" ...> 的相同内容:

h:column

如果您不想在多行显示数据表格单元格的文本,则为 1)您可以使用<h:column width="110"> 的{​​{1}}属性,并为该列指定无包裹样式。例如组合

columnClasses

使用CSS

rich:dataTable

将作为包含非包装第一列的表格生成。

2)您可以使用<rich:dataTable columnClasses="nowrap,"> 的{​​{1}}或.nowrap { white-space: nowrap; } 属性获得相同的结果(使用相同的CSS)。