我试过这种方式,但我无法使用它。使用呈现的HTML,我看不到Header或dataTable行的宽度属性。我使用JSF 1.2而没有任何组件库。可能是什么问题?
答案 0 :(得分:40)
诚实地说这个链接的答案对我来说没有意义。默认的JSF实现does not中的<h:column>
完全支持这些属性。为什么它获得6票并被标记为接受,这远远超出了我。这将是无知或巧合(也许提问者和答案都使用JSF实现我不知道哪个具有<h:column>
的渲染器,它自动将所有未知属性转换为真正的HTML属性,但至少,标准JSF RI / Mojarra不这样做,MyFaces可能吗?)。
也就是说,要单独设置列的样式,您需要使用<h:dataTable>
的columnClasses
属性。它接受一个逗号分隔的CSS类名称字符串,随后将应用于<td>
生成的<h:column>
元素。
<h:dataTable columnClasses="column1,column2,column3">
<h:column>...</h:column>
<h:column>...</h:column>
<h:column>...</h:column>
</h:dataTable>
这最终会像:
<table>
<tbody>
<tr>
<td class="column1">...</td>
<td class="column2">...</td>
<td class="column3">...</td>
</tr>
</tbody>
</table>
要指定宽度,只需相应地应用CSS。
.column1 { width: 200px; }
.column2 { width: 100px; }
.column3 { width: 50px; }