Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf p:dataTable,其中p:columns具有自定义宽度_Jsf_Primefaces - Fatal编程技术网

Jsf p:dataTable,其中p:columns具有自定义宽度

Jsf p:dataTable,其中p:columns具有自定义宽度,jsf,primefaces,Jsf,Primefaces,我通过p:columns标记拥有一个带有动态列的数据表,并希望为每列指定不同的宽度 我的代码如下 <p:dataTable id="scheduleDataTable" value="#{scheduleMB.scheduledRecords}" var="sched" rows="10"> <p:columns value="#{scheduleMB.columns}" var="column" columnIndexVar="colIndex" styleC

我通过
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>
我甚至尝试了styld=“width:150px;”这两种方法都不起作用,列是用默认值绘制的

但是我想要不同的列宽,我该怎么做呢。 我尝试在styleClass=“col1,col2”中指定多个css,在facet中指定

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

#{column.size}

为PrimeFaces
数据表设置列宽的官方方法是使用无单位整数定义
元素的
宽度
属性。像这样:

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

可以使用EL让控制器定义宽度


该建议适用于PF的3.3和3.4版本,对于旧版本可能有所不同。在最近几次版本更新中,详细信息已经更改了好几次,因此您也可以参考

设置PrimeFaces
数据表
列宽的正式方法是使用无单位整数定义
元素的
宽度
属性。像这样:

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

可以使用EL让控制器定义宽度


该建议适用于PF的3.3和3.4版本,对于旧版本可能有所不同。在最近几次版本更新中,详细信息已经更改了好几次,因此您可能还想咨询您可以使用EL width=“#{column.width}”设置每列的宽度。您的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>

#{column.header}
#{sched[column.property]}

您可以使用EL-width=“#{column.width}”设置每列的宽度。您的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>

#{column.header}
#{sched[column.property]}

我使用3.3,我之前曾对单列使用过宽度选项,但我想知道是否还有其他方法可以使用p:columns选项设置可变宽度列设置p:column width参数似乎对我的布局没有任何影响。在Primefaces 6中,
width
也可以采用类似“70%”的百分比。我使用3.3,我之前曾对单列使用过宽度选项,但我想知道是否还有其他方法可以使用p:columns选项来设置可变宽度列设置p:column width参数似乎对我的布局没有任何影响在Primefaces 6中,
width
也可以采用类似“70%”的百分比。