[DICA] RadioButton dentro de dataTable (JSF + Richfaces)

Gente, eu tive dificuldade para trabalhar com radiobunttons dentro de uma tabela. Problema solucionado, vou postar aqui.

Segue abaixo o código da tabela no facelet:

			<rich:dataTable id="table" var="item" rowKeyVar="index">

				<f:facet name="header">
					<h:outputText value="Tabela" />
				</f:facet>


				<rich:column>
					<f:facet name="header">
						<h:outputText value="RadioButons"/>
					</f:facet>

					<h:selectOneRadio value="#{item.radioButton}" onchange="atualiza#{index}();">
						<f:selectItem itemValue="1" itemLabel="" />
					</h:selectOneRadio>
                                       
					//<!-- bean.Marcar: seta numa variavel o valor da lista.get(index) -->
					<a4j:jsFunction name="atualiza#{index}" action="#{bean.Marcar}" reRender="table">
						<f:setPropertyActionListener value="#{index}"
							target="#{bean.index}" />
					</a4j:jsFunction>
				</rich:column>
			</rich:dataTable>

agora, abaixo, a função Marcar do bean:

	public void Marcar() {
		// primeiro desmarca todos os radiobuttons
		for (Item temp : listItens)
			temp.setCorreta(0);

		// marcar o radio certo
		listItens.get(index).setRadioButton(1);
	}

peguei meu código e refiz aki, pra dar uma enxutada. Qualquer dúvida manda menssagem ai.

Flw

Ficou menor do que exemplos que eu vi por ai.

Excelente!!
Parabéns! :smiley:

Cara, parabéns estava passando pelo mesmo problema.
Obrigado ai pela dica

Boa tarde, estou com umas duvidas sobre como declarar a index, listItens e Item … qual tipo, e tipo de modificador de acesso . Alguém sabe me informar ? agradeço !

Já fiz assim e funciona:

 <h:selectOneRadio id="radioButton" value="#{objeto.marcado}" > 
		<f:selectItem itemValue="true" itemLabel="" /> 
			<f:ajax event="click" execute="radioButton" listener="#{bean.marcar(index)}" render="table" /> 
</h:selectOneRadio>