2012-09-11 30 views
0

我有一個數據表與動態列通過p:columns標記,並希望爲每列指定不同的寬度。p:數據表與p:具有自定義寬度的列

我的代碼是如下

<p:dataTable id="scheduleDataTable" value="#{scheduleMB.scheduledRecords}" var="sched" rows="10"> 
     <p:columns value="#{scheduleMB.columns}" var="column" columnIndexVar="colIndex" styleClass="day-column"> 
      <f:facet name="header"> 
       #{column.header} 
      </f:facet> 

      #{sched[column.property]} 
     </p:columns> 
    </p:dataTable> 
在CSS文件中

我有寬度

.ui-state-default .day-column{ 
width: 150px !important; 
} 

我甚至試圖styld = 「寬度:150像素;」他們兩個都不起作用,列是用默認值繪製的。

但我想要不同的列寬,我該怎麼做。 我試圖像的styleClass =指定多個CSS「COL1,COL2」,在小面指定如

<f:facet name="style"> 
    #{column.size} 
</f:facet> 

回答

1

正式的方式來設置列寬爲PrimeFaces DataTable使用以限定column元件的width屬性一個無單位的整數。就像這樣:

<p:column width="70"> 
    <h:outputText value="#{element.prop}" /> 
</p:column> 

可以使用EL,讓控制器定義的寬度。

該建議適用於PF的3.3和3.4版本,可能與舊版本不同。在過去的幾個版本更新中,細節已經多次更改,因此您可能還需要諮詢migration guide

+0

我用3.3,我已經使用了寬度選項前面的單列,但我想知道是否有反正我可以具有可變寬度的列與p:列選項 – user1433804

+0

設置號碼:列寬PARAM似乎不要對我的佈局有任何影響 –

1

您可以使用EL寬度=「#{column.width}」來設置每列的寬度。你的列類需要有一個寬度屬性。

<p:dataTable id="scheduleDataTable" value="#{scheduleMB.scheduledRecords}" var="sched" rows="10"> 
    <p:columns value="#{scheduleMB.columns}" var="column" 
     width="#{column.width}" 
     columnIndexVar="colIndex" styleClass="day-column"> 
     <f:facet name="header"> 
      #{column.header} 
     </f:facet> 

     #{sched[column.property]} 
    </p:columns> 
</p:dataTable> 
相關問題