Esa respuesta vinculada honestamente no tiene sentido para mí. El <h:column>
como está en la implementación JSF predeterminada does not admite esos atributos en absoluto. Está más allá de mí por qué obtuvo 6 votos y está marcado como aceptado. Será ignorancia o coincidencia (tal vez tanto el que pregunta como la respuesta están usando una implementación JSF de la que no tengo conocimiento que tenga un procesador para <h:column>
que convierte automágicamente todos los atributos desconocidos en atributos HTML reales, pero al menos, el estándar JSF RI/Mojarra no hace eso, MyFaces tal vez?).
Dicho esto, para diseñar las columnas por separado, debe hacer uso del atributo columnClasses
del <h:dataTable>
. Acepta una cadena separada por comas de nombres de clase CSS que se aplicarán posteriormente en los elemenes <td>
generados por <h:column>
.
<h:dataTable columnClasses="column1,column2,column3">
<h:column>...</h:column>
<h:column>...</h:column>
<h:column>...</h:column>
</h:dataTable>
Esto va a terminar como algo parecido a:
<table>
<tbody>
<tr>
<td class="column1">...</td>
<td class="column2">...</td>
<td class="column3">...</td>
</tr>
</tbody>
</table>
para especificar el ancho, solo se aplica CSS en consecuencia.
.column1 { width: 200px; }
.column2 { width: 100px; }
.column3 { width: 50px; }
¿Qué sucede si tiene un número de? El orden se mezclará. –
@Ramsus: sí, de hecho, eso es por diseño. Puede rellenarlo dinámicamente en el bean en su lugar y hacer referencia a él como lo hace 'columnClasses =" # {bean.columnClasses} "'. – BalusC
Esa fue la solución que pensé también después de pensar en abit :). –