Pregunta

¡¡Buen día!!

Tengo una tabla de datos dinámica y estoy usando columnas de Richfaces, pero cuando asigno el valor a FilterBy, no funciona.¿Alguien puede ayudarme?¡Ay de mi código!

<rich:dataTable id="dtAtendimento" value="#{CadastroAtendimentoTecnico.listaAtendimento}" var="atendimento">
    <rich:columns index="index" value="#{CadastroAtendimentoTecnico.listaCampos}" var="column" filterBy="#{column.nomeAtributo}" filterEvent="onKeyUp">
        <f:facet name="header">
            <h:outputText value="#{column.label}"/>
        </f:facet>
        <h:outputText value="#{atendimento[column.nomeAtributo]}"/>
    </rich:columns>
</rich:dataTable>
¿Fue útil?

Solución

Trate de añadir sortBy="#{column.nomeAtributo}" y sortOrder a rich:columns que va a funcionar. Llegué a saber que tenemos este tipo de problemas en las primeras versiones. Por favor, intente RF 3.2.1. Creo que debe resolver el problema de otra manera.

Otros consejos

Por lo que puedo ver que está utilizando el atributo mal en filterBy. Que desea utilizar anidación para especificar dónde se encuentra el elemento de ordenar. Algo así como #{atendimento(column.nomeAtributo)}, pero no estoy en un lugar que puedo probarlo. Lo que esto hace es esencialmente evaluar el nombre de la columna y luego llama al comprador con el mismo nombre fuera de su atendimento fila objeto. Lo siento si la sintaxis de anidación no funciona, pero creo que la anidación es su respuesta.

Si #{atendimento[column.nomeAtributo]} trabaja para imprimir el valor, entonces eso es lo que quieres, pero yo sólo sería de esperar que funcione si nomeAtributo es un número entero de matriz referencia.

Me encontré con otro problema con filterBy que puede causar problemas.Teníamos el filtro trabajando en entidades en un determinado estado comercial (activo, vencido, etc.) pero no en otros.El estado de la entidad no tuvo nada que ver con el valor real del filtro.

Cuando utilicé un método de filtro e hice el filtrado en el bean de respaldo, funcionó bien.Resultó que filterBy envía el formulario completo mientras que en mi inputText para el filterMethod usé ajaxSingle.Una validación falló cuando envió ese formulario en total, pero se tragó el error de validación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top