7

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

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

一切都很好,但是当我添加scrollable="true"属性以获得可滚动的数据表时,结果最糟糕:

在此处输入图像描述

这是数据表的声明:

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

问题是什么?谢谢!

4

2 回答 2

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>
于 2013-04-18T17:35:06.993 回答
-4

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

CSS:

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

表格 :

  1. 第 1 列:宽度 =“25”
  2. 第 2 列:宽度 =“55”
  3. 第 3 列:宽度 =“369”
  4. 第 4 列:宽度 =“469”
  5. 第 5 列:宽度 =“170”
于 2013-04-23T10:17:27.987 回答