Pessoal,
Sou novo no fórum e gostaria de uma solução para um problema que estou tendo para mostrar os valores no datatable de acordo com a seleção no radioButton
quando eu seleciono uma opção do radioButton deveria vir apenas o que eu seleciono no entanto não esta fazendo nada;
Segue o meu código
listagemCarros.xml
<rich:extendedDataTable id="carrosListagem" value="#{carroListarBean.carros}"
var="carros" rowClasses="linha1, linha2" selection="#{carroListarBean.Selecionado}"
rows="10"
selectionMode="single">
<a4j:ajax execute="carrosListagem" event="selectionchange" listener="#{carroListarBean.selectionListener}" render="detalhar" />
<rich:column>
<f:facet name="header">
Código<br/>
<h:inputText id="codigo" value="#{carroListarBean.codigo}" size="3" onfocus="this.value = this.value;" />
</f:facet>
<h:outputText value="#{carro.codigo}"/>
</rich:column>
<rich:column>
<f:facet name="header">
Placa<br/>
<h:inputText id="carro" value="#{carroListarBean.placa}" size="3" onfocus="this.value = this.value;" />
</f:facet>
<h:outputText value="#{carro.placa}"/>
</rich:column>
<rich:column>
<f:facet name="header">
Tipo de Carro<br />
<h:selectOneRadio value="#{carroListarBean.tipoCarro}" id="tipo">
<f:selectItem itemLabel="Própio" itemValue="P"/>
<f:selectItem itemLabel="Alugado" itemValue="A"/>
</h:selectOneRadio>
</f:facet>
#{carro.tipoCarro eq 'P' ? 'Próprio' : 'Alugado'}
</rich:column>
<rich:column styleClass="center" width="60px">
<f:facet name="header">
<a4j:commandButton actionListener="#{carroListarBean.filtrar}"
image="/resources/img/update.png"
render="carrosListagem" immediate="true" execute="@form" />
</f:facet>
<h:commandButton image="/resources/editar.png" value="Editar" action="#{carroInserirBean.editListener(carro.codigo)}"/>
</rich:column>
carroListarBean.java
public void filtrar() {
if (tipoCarro == null)
tipoCarro = "P";
carros = new ArrayList<Carros>(carrosFabrica);
for (Iterator<Carro> it = carros.iterator(); it.hasNext();) {
Carro carro = it.next();
if (!StringUtils.isEmpty(filtroCodigo) && (carro.getCodigo() == null || !carro.getCodigo().toUpperCase().contains(filtroCodigo.toUpperCase())) )
it.remove();
else if (!StringUtils.isEmpty(filtroPlaca) && !carro.getPlaca().equals(new Integer(filtroPlaca)))
it.remove();
else if (!StringUtils.isEmpty(tipoCarro) && (carro.getTipoCarro() == null || !carro.getTipoCarro().toLowerCase().startsWith(tipoCarro.toLowerCase())))
it.remove();
}
}
Quando eu clico no tipoCarro não mostra nada no dataTable o que estou fazendo errado? Alguém poderia ajudar?