2012-06-21 52 views
4

需要一些幫助來設置數據表的列寬。但是,數據表寬度似乎並不統一。數據表中列的寬度似乎因列標題長度而異。請參閱下面的代碼。設置數據表中的列寬

<p:column style="text-align: left; width:15px;" > 
      <f:facet name="header"> 
       <h:outputText id="SalesHistoryID" value="View Sales History/Forecast"/> 
      </f:facet> 
      <h:commandLink id="ForecastID" value="View"/> 

在上述情況下,列標題值長度「查看銷售歷史/預測」似乎是大的和因此列寬也似乎取決於列標題文本值擴大。您能否告訴我是否有任何方法可以實際保持列寬的一致性,而不依賴於列標題文本值。

如果列標題文本長度太大,是否有辦法保持列寬的一致性?請協助。提前致謝

回答

4

style =「table-layout:fixed」在表元素上就是你要找的東西。默認表格佈局是「自動」,它確保沒有單元格小於內容。是不適合的文本溢出。

+0

非常感謝您的回覆。我也有類似的命令按鈕問題。我已將按鈕的寬度設置爲固定值。但是,如果按鈕上的文本超過了某個限制,則只有部分文本在按鈕中可見。你可以請建議是否有任何方法讓按鈕指定寬度內的整個文本。 THANKs Advance – vr3w3c9

+0

設置完全沒有寬度會使按鈕足夠大以適應其中的文本。如果你想在按鈕上使用最小寬度(對於文本很少的文本),你可以使用min-width:* px –

+0

Hi Rasmus。感謝您的迴應。我仍然對列寬有一些問題,在table元素上設置style =「table-layout:fixed」,似乎對JSF數據表工作正常。就我而言,當我嘗試爲primefaces數據表設置相同的值時,它似乎不起作用。列的寬度似乎取決於指定的文本標籤的長度。 – vr3w3c9

13

要設置列寬爲數據表,設定resizableColumns =「真」屬性數據表中,然後設置寬度爲使用寬度=「10」爲列的特定列,那它:)

<p:dataTable id="dataTable" var="question" value="#{QuestionsMB.questionsList}" rowKey="#{question.id}" 
         paginator="true" rows="10" selection="#{QuestionsMB.selectedQuestions}" 
         paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
         lazy="true" rowsPerPageTemplate="10,15,50,100" 
         resizableColumns="true" 
         emptyMessage="No question found with given criteria" > 
       <f:facet name="header"> 
        Questions List 
       </f:facet> 

       <p:column selectionMode="multiple"/> 

       <p:column id="questionHeader" width="10"> 
        <f:facet name="header"> 
         <h:outputText maxlength="20" value="Question text :" /> 
        </f:facet> 
        <p:commandLink value="#{question.questionText}" update=":questionDetailForm:display" oncomplete="questionDialog.show()" title="View"> 
         <f:setPropertyActionListener value="#{question}" target="#{QuestionsMB.selectedQuestion}" /> 
        </p:commandLink> 

       </p:column> 
</p:dataTable> 
4
<p:dataTable id="id" value="#{bean.mainList}" var="dp" tableStyle="width:auto" resizableColumns="true" > 

tableStyle="width:auto" , resizableColumns="true"這將有助於滿足列

+0

仍然是一個有用的答案:) –