yorgan
Agosto 12, 2008, 10:12pm
#1
Olá pessoal,
Estou com um problema na utilização do rich:simpleTogglePanel . Quando eu seto switchType=“client”, ele funciona da maneira que quero na tela, mas não chama a action do commandButton. Se eu mudo o switchType para “server”, ele chama a action, mas também abre todos os simpleToggle de uma vez. Alguém sabe como devo fazer para chamar o bean com o switchType em “client”?
Segue meu código:
<a4j:form>
<h:dataTable id="items" value="#{pessoa.listaPessoa}" var="p"
style="width:600px">
<h:column>
<rich:simpleTogglePanel switchType="client" label="#{p.nmPessoa}" opened="#{p.toggleAberto}" styleClass="simpleTogglePanel" id="togllePessoa">
<h:outputText value="Nome:" />
<h:inputText value="#{p.nmPessoa}" id="nmPessoa"/>
<a4j:commandButton value="Salvar" action="#{pessoa.salvarPessoa}" />
</rich:simpleTogglePanel>
</h:column>
</h:dataTable>
</a4j:form>
Bean
public String salvarPessoa() {
pessoa = (Pessoa)listaPessoas.getRowData();
System.out.println("entrou");
return "pessoaSalva";
}
[]'s pessoal
yorgan
Agosto 14, 2008, 10:05am
#2
Ninguem utiliza esse componente por aqui?
[]´s
Tive o mesmo problema, resolvi da seguinte forma:
<h:dataTable
id="items"
width="80%"
headerClass="consulta"
columnClasses="colunaCentralizada"
value="#{Controle.lista}"
rows="10"
var="objetoDaLista">
<rich:column>
<rich:simpleTogglePanel opened="#{objetoDaLista.abrirToggle}" switchType="ajax" reRender="items" action="#{Controle.consultarCursosDoNivel}" >
<f:facet name="header">
<h:panelGroup>
<h:outputText value="#{objetoDaLista.nome}" />
<rich:spacer width="15px" />
<h:outputText value="[#{objetoDaLista.quantidade}]" />
</h:panelGroup>
</f:facet>
<rich:dataTable
id="cursos"
width="720px"
headerClass="consulta"
columnClasses="w60c, w10c"
value="#{objetoDaLista.listaInterna}"
border="1"
var="objetoInterno">
<rich:column>
<f:facet name="header">
<h:outputText value="#{msg_aplic.prt_CursoMaisVendido_curso}" />
</f:facet>
<h:outputText value="#{objetoInterno.nome}" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="#{msg_aplic.prt_CursoMaisVendido_quantidade}" />
</f:facet>
<h:outputText value="#{objetoInterno.quantidade}" />
</rich:column>
</rich:dataTable>
</rich:simpleTogglePanel>
</rich:column>
</h:dataTable>