5

我创建了一个包含一些测试数据的数据表。我的问题是某些值对于我的一个列来说太大了,这导致了奇怪的布局:

在此处输入图像描述

(订单栏后应显示另外两栏)

我已经尝试了一些事情:

  • <p:column headerText="Orders" width="50">没有变化
  • <p:column headerText="Orders" style="max-width: 30px;">使列更小,但值在 30px 后被削减
  • 在几个数字后添加 a<br/>以强制分隔线,但没有更改

订单值是一个大字符串。我的目标是将订单列更改为拆分字符串值的多行列。

我的数据表代码:

<h:body>
    <h:head>
    </h:head>
    <h:form id="form">           
        <p:dataTable id="customerTable" var="customer" value="#{customerDataTable.allCustomer}"
         rows="25" paginator="true" emptyMessage="No customer found.">  

                <p:column headerText="Customer ID" style="text-align: center;">  
                <h:outputText value="#{customer.customerNumber}" /> 
                </p:column>

                <p:column headerText="Fist Name" style="text-align: center;">  
                <h:outputText value="#{customer.contactFirstName}" />  
                </p:column> 

                <p:column headerText="Last Name" style="text-align: center;">  
                <h:outputText value="#{customer.contactLastName}" />  
                </p:column> 

                <p:column headerText="Sales Employee Nr." style="text-align: center;">  
                <h:outputText value="#{customer.employee.employeeNumber}" />  
                </p:column> 

                <p:column headerText="Orders">  
                <h:outputText value="#{customer.allOrders}"/>
                </p:column> 


                <p:column headerText="Payments" style="text-align: center;" >
                    <p:commandButton id="payment_btn" update=":form:p_display" oncomplete="paymentDialog.show()" icon="ui-icon-calculator">
                    <f:setPropertyActionListener target="#{customerDataTable.selectedCustomer}" value="#{customer}"/>
                    </p:commandButton>  
                    <p:tooltip for="payment_btn" value="Click to see all payments" showEffect="fade" hideEffect="fade"></p:tooltip>
                </p:column>

                <p:column headerText="Contact Data" style="text-align: center;" >
                    <p:commandButton id="contact_btn" update=":form:c_display" oncomplete="contactDialog.show()" icon="ui-icon-home">
                    <f:setPropertyActionListener target="#{customerDataTable.selectedCustomer}" value="#{customer}"/>
                    </p:commandButton>  
                    <p:tooltip for="contact_btn" value="Click to see the detailed contact data" showEffect="fade" hideEffect="fade"></p:tooltip>
                </p:column>

        </p:dataTable>
    </h:form>    
    </h:body>  

在其他线程中,我找到了使用 css 的解决方案,但这也不起作用(原因可能是我现在不知道应该如何以及在何处创建 css 文件和方法)。

4

2 回答 2

6

如果你想打破行,你可以使用 CSS。尝试将此添加到您的样式中

.ui-datatable td,.ui-datatable th {
    white-space: normal;
}

如果您的文本中没有空格,这将不起作用,因为浏览器不知道在哪里换行,在这种情况下您可以使用wbr标签,但重要的是要说它不受 IE 支持

也可以看看:

于 2013-03-21T17:44:49.517 回答
0

尝试将其添加到scrollable="true"它的工作数据表。

于 2014-08-20T06:16:47.933 回答