PrimeFaces数据表滚动条

时间:2013-04-18 13:01:06

标签: jsf jsf-2 primefaces css

我有一个带有primefaces数据表的表单,我在css中设置了列宽:

.idcol{width: 5%}
.prioritycol{width: 5%}
.titlecol{width: 30%}
.descriptioncol{width: 40%}
.actionscol{width: 10px}

一切都没问题但是当我添加scrollable="true"属性以便拥有可滚动的数据表时,结果最差:

enter image description here

这是数据表的声明:

<p:dataTable  id="dtable" var="todos" value="#{todo.todoList}" scrollable="true" 
                             resizableColumns="false" scrollHeight="300" lazy="true"
                             styleClass="idcol,prioritycol,titlecol,descriptioncol,actionscol">

有什么问题? 谢谢!

2 个答案:

答案 0 :(得分:2)

您可以这样设置列宽

<p:column headerText="Type"  width="70%"> 

或者您可以这样指定样式类

<p:column headerText="Type"  styleClass="idcol"  >

你可以添加一些像这样的滚动宽度

<p:dataTable var="data"  rowKey="#{data.key}" style="width:70%" 
sortOrder="ascending"
selection=""
value=""
selectionMode="single"
scrollable="true" 
scrollWidth="71%" 
scrollHeight="3%"
>

<p:ajax event="rowSelect" listener=""
update="" />

<p:column headerText="Type"  styleClass=""  sortBy="" width="70%">
<h:outputText id="dataTYpe" value="" />
</p:column>

<p:column headerText="Category"  sortBy="" width="30%">
<h:outputText value="" />
</p:column>

</p:dataTable>

答案 1 :(得分:-3)

我找到了解决方案, 您必须同时编辑css和JSF代码并查看结果, 对于我的问题,我一步一步地编辑了我的css和jsf代码,这里是适用于我的代码:

CSS:

.idcol{width: 5%}
.prioritycol{width: 5%}
.titlecol{width: 30%}
.descriptioncol{width: 40%}
.actionscol{width: 20%}

表格:

  
      
  1. 第1栏:width =“25”
  2.   
  3. 第2栏:width =“55”
  4.   
  5. 第3栏:width =“369”
  6.   
  7. 第4栏:width =“469”
  8.   
  9. 第5栏:width =“170”
  10.