Cómo diseño personalizado h:selectOneRadio

el diseño de h:selectOneRadio puede ir ya sea horizontal o vertical, por lo que hay una manera de que yo pueda hacer algo de diseño personalizado. Por ejemplo, en lugar de mostrar 8 botón de radio, la pantalla en 2 filas con 4 en cada fila? Por favor, proporcione su respuesta lado de PrimeFaces p:selectOneRadio solución, el uso de CSS3 causando IE8 para mostrar el botón de radio en forma de rectángulo.

OriginalEl autor Thang Pham | 2012-06-29

1 Kommentar

  1. 5

    No es exactamente eso, pero se puede usar Tomahawk es <t:selectOneRadio> con el layout conjunto de atributos a "spread" tener un markupless de representación de los botones de la radio. Usted puede utilizar <t:radio> para colocar el individuo botones de radio en el marcado de la manera que usted desea, como en un <h:panelGrid columns="4">.

    E. g.

    <t:selectOneRadio id="foo" value="#{bean.selectedItem}" layout="spread">
        <f:selectItems value="#{bean.availableItems}" />
    </t:selectOneRadio>
    
    <h:panelGrid columns="4">
        <t:radio for="foo" index="0" />
        <t:radio for="foo" index="1" />
        <t:radio for="foo" index="2" />
        <t:radio for="foo" index="3" />
    
        <t:radio for="foo" index="4" />
        <t:radio for="foo" index="5" />
        <t:radio for="foo" index="6" />
        <t:radio for="foo" index="7" />
    </h:panelGrid>

    o incluso cuando la cantidad de botones de radio no está especificado

    <h:panelGrid columns="4">
        <c:forEach items="#{bean.availableItems}" varStatus="loop">
            <t:radio for="foo" index="#{loop.index}" />
        </c:forEach>
    </h:panelGrid>

    (tenga en cuenta que <ui:repeat> no es adecuado ya que se ejecuta durante la vista de tiempo de procesamiento y por lo tanto terminan en una sola columna de <h:panelGrid>, usted tendría que usar HTML <table> lugar)

    Muchas gracias 🙂 Tomhawk funciona por ahora, pero cuando voy a descargar Tomhawk a través de mvn, descargado tantas extra archivos jar, que parece un poco demasiado para mí. Veo que tienes un tutorial sobre el estilo selectOneMenu por extender MenuRenderer, voy a echar un vistazo a él, tal vez me ayude a crear un personalizado selectOneRadio componente. Muchas gracias
    Tomahawk es de código abierto, también se podría tomar una ojeada en ella. Sí, viene con un montón de dependencias. Solo el t:selectOneRadio, sólo aquellos Apache Commons dependencias son suficientes, todos los otros son innecesarios.
    Sí, viene con un montón de dependencias. Añadimos dependencias de nuestra aplicación a través de maven, y yo <groupId>org.apache.myfaces.tomahawk</groupId> <artifactId>tomahawk20</artifactId> <version>1.1.13</version>, viene con un montón de cosas, hay una manera de evitar esto, BalusC?
    No estoy seguro. Yo no soy de Maven chico.
    Gracias, has sido muy útil, voy a exponer esta a la maven de la comunidad.

    OriginalEl autor BalusC

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea