Foros del Web » Programación para mayores de 30 ;) » Java »

Problema para obtener una fila de un t:dataTable. JSF

Estas en el tema de Problema para obtener una fila de un t:dataTable. JSF en el foro de Java en Foros del Web. buenos días, os comento mi problema por si alguien puede echarme una manilla. Primero estoy usando JSF con librerías tomahawn, la verdad es que aparentemente ...
  #1 (permalink)  
Antiguo 17/06/2009, 01:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Problema para obtener una fila de un t:dataTable. JSF

buenos días,

os comento mi problema por si alguien puede echarme una manilla.

Primero estoy usando JSF con librerías tomahawn, la verdad es que aparentemente el problema es sencillo, pero la verdad es que no encuentro la solución.

1º. uso un dataTable que almacenará una lista de lectores, del cual al hacer un doble click sobre una fila, lo unico que se debe recuperar es el objeto seleccionado.

<t:dataTable id="tblLectoresLocaliz" value="#{locLectorAction.listadoLector}" var="lectorLoc" sortColumn="#{locLectorAction.sortColumn}" sortAscending="#{locLectorAction.ascending}" styleClass="listado" headerClass="standardTable_Header" rowClasses="impar,par" rowIndexVar="lectorIndex" binding="#{locLectorAction.lectorLocalizadorSelecc ionado}">

...aqui las columnas con los datos....

<a4j:support event="ondblclick" reRender="rbtLectoresSel" actionListener="#{locLectorAction.selectLector}">
</a4j:support>

</t:dataTable>


Como vemos, uso un a4j:support ,para que a partir de un evento, como el doble click se seleccione una fila.

Observar que el bindind que situo en el dataTable, será un objeto, HtmlDataTable, en mi managerBean.

private HtmlDataTable lectorLocalizadorSeleccionado;

Así el actionListener asociado será el siguiente:


public void selectLector(ActionEvent evento) {

System.out.println(this.lectorLocalizadorSeleccion ado.getRowData()
.toString());

final UIComponent panelSeries = evento.getComponent().findComponent(
"tblLectoresLocaliz");

...}


Como veis he probado tanto usando el componente binding que será el dataTable, como a través del evento (parámetro) buscando el componente.

Además, el objeto dataTable si que lo recupera, pero cuando intenta ejecutar el método getRowData, salta un error y me dice que la fila no está disponible


java.lang.IllegalArgumentException: row is unavailable

Podría echarme alguien una manilla??
estoy ya desesperado, creo que puede ir la idea porque cuando se ejecuta el a4j:support, aún no se ha cargado los valores de la fila en la estructura del dataTble?? (por el ciclo de vida de JSF)

GRACIASSS
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:44.