2012-09-11 4 views
0

나는 p:columns 태그를 통해 동적 열이있는 Datatable을 가지며 각 열에 대해 다른 너비를 지정하려고합니다. CSS 파일에서p : dataTable with 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> 

이하 나는 시도조차

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

폭을 가지고

내 코드는 styld = "폭 : 150 픽셀;" 둘 다 작동하지 않으면 열은 기본값으로 그려집니다.

하지만 다른 열 너비를 원한다면 어떻게해야합니까? 제가 사용 column 소자의 width 속성을 정의

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

답변

1

같은면에서 PrimeFaces DataTable의 열 폭을 설정 공식 방법이다 지정 styleClass =에서 "COL1, COL2"을 여러 CSS 지정 같은 시도 단위가없는 정수. 이렇게 :

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

컨트롤러를 사용하여 너비를 정의 할 수 있습니다.

이 조언은 3.3 및 3.4 버전의 PF에 적용되며 이전 버전의 경우 다를 수 있습니다. 마지막 버전 업데이트에서 세부 정보가 여러 번 변경되어 문의 할 수도 있습니다. migration guide

+0

, 난 하나의 컬럼에 대한 이전의 폭 옵션을 사용했다하지만 난 내가 페이지로 가변 폭 컬럼을 가질 수 어쨌든이 있다면 알고 싶어 : 열 옵션 – user1433804

+0

이 페이지 설정 : 열 너비 PARAM 보인다 내 레이아웃에 영향을 미치지 않도록 –

1

EL 너비 = "# {column.width}"로 각 열의 너비를 설정할 수 있습니다. 열 클래스에는 width 속성이 있어야합니다. 나는 3.3 사용

<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>