style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

<rich:dataTable> obtener fila seleccionada.

Antes que nada agradecer por la ayuda recibida, y comentarles que me esta costando algo de trabajo aprender a utilizar richFaces, dado que no hay mucha info aplicada a puntos específicos, aunque la documentación esta muy bien, muchas veces se aplican mas cosas que ahí no vienen.

Bueno vamos al grano, resulta que tengo una tabla como se muestra a continuación

<rich:dataTable id="catalogo"  value="#{catalogoBean.tabla}"  var="contenido" rowKeyVar="fila">

                    <rich:column>
                        <f:facet name="header">
                            <h:outputText value="Nombre"/>
                        </f:facet>
                        <h:outputText value="#{contenido.nombre}"/>
                    </rich:column>

                    <rich:column>
                        <f:facet name="header">
                            <h:outputText value="Dirección"/>
                        </f:facet>
                         <h:outputText value="#{contenido.direccion}"/>
                    </rich:column>

                    <rich:column>
                        <f:facet name="header">
                            <h:outputText value="Eliminar"/>
                        </f:facet>
                         <a4j:commandLink ajaxSingle="true" id="eliminarLink"
                                                        oncomplete="#{rich:component('panelEliminar')}.show()">
                                        <h:graphicImage value="/imagenes/eliminar.png" style="border:0" />                                     
                                        <f:setPropertyActionListener value="#{fila}" target="#{catalogoBean.fila}"/>
                               
                    </a4j:commandLink>
                    <rich:toolTip for="eliminarLink" value="Eliminar" />
                         
                    </rich:column>                  
                </rich:dataTable>      

eso me da como salida una tabla con una imagen de eliminar en cada fila, y se supone que cuando doy clic en esa imagen, me debe enviar el indice de la tabla donde se hizo clic al atributo fila, del BakingBean, sin embargo no esta funcionando, ya que siempre envía "0" (cero) independientemente de la fila donde se haga clic.

he intentado bindear la tabla, pero nada... espero sus sugerencias..

Gracias
@FlexJRL

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Guitate

que tal, en que parte de tu

que tal, en que parte de tu codigo observas el 0? si estas haciendo una prueba queriendo mostrar el valor del row seleccionado en el panel "panelEliminar" te hace falta un reRender al panel mismo para que refresque los datos o directamente al componente que muestrara el valor del row seleccionado, tambien podrias poner un break en el setFila para observar si se esta enviando el dato mediante el f:setPropertyActionListener, como dato final, en lugar de el commandLink podrias usar un commandButton y en la propiedad image asignar la dir de tu imagen :)

Saludos.

Imagen de 043h68

Obtener datos de el valor seleccionado de un datatable

Yo mismo necesitaba esto, así que investigando un poquito encontré estos en los groups de google.

Lo pego textual por que lamentablemente perdí el vinculo, pero esa es la información a final de cuentas, las modificaciones o adecuaciones ya dependen de la manera en la que lo utilicen pero la idea de saber el id o dato que necesitemos del valor seleccionado dentro de un datatable es esta.

yo uso lo siguiente y me funciona muy bien..
en el Table, en mi caso uso RichFaces
<rich:dataTable id="userList" binding="#
{usuarioBean.dtListado}"
......
Luego en cada fila tengo un commandLink que dice Editar, en el action
puedes poner cualquier funcion de tu Bean...
y en el Bean ...
private UIData dtListado;
....
public String editarCuenta() {
                Usuario user = (Usuario) dtListado.getRowData(); //Me regresa la
fila seleccionada, donde di click en editar y lo guardo en una
variable
                if (user == null || user.getIdUsuario() == null) {
                        return "error";
                }
                return "editarCuenta"; //envio a otra pantalla donde podre recuperar
el valor que guarde en user.
        }
espero te sirva..

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">