0

タグを介して動的な列を持つ Datatable があり、列 p:columnsごとに異なる幅を指定したいと考えています。

私のコードは以下の通りです

<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="width:150px;" どちらも機能しません。列はデフォルト値で描画されます。

しかし、異なる列幅が必要です。どうすればよいですか。styleClass="col1,col2" に css を複数指定してみたり、ファセットで指定したり

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

2 に答える 2

2

PrimeFaces の列幅を設定する公式の方法は、単位のない整数を使用して要素の属性DataTableを定義することです。このような:widthcolumn

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

EL を使用して、コントローラに幅を定義させることができます。

このアドバイスは PF の 3.3 および 3.4 バージョンに適用され、古いバージョンでは異なる場合があります。詳細は、過去数回のバージョン更新で何度か変更されているため、移行ガイドを参照することもできます。

于 2012-09-11T12:45:44.120 に答える