Criar link dentro de uma <rich:dataTable/>?

3 respostas
satangoss

Olá pessoal minha dúvida é a seguinte como faço para criar um link que renderize um <a4j:form na mesma pagina?
minha table ta assim:

<!-- Tabela com a listagem de todos as ordens de Serviço -->
                    <div class="alignCenter">
                        <rich:dataTable styleClass="tableList" id="tabelaOS" value="#{ManterOS.listar}" var="os" binding="#{ManterOS.table}">
                            <f:facet name="header">
                                <rich:columnGroup>
                                    <rich:column width="70px">
                                        <h:outputText value="Número OS"/>
                                    </rich:column>
                                    <rich:column width="90px">
                                        <h:outputText value="Data de Abertura"/>
                                    </rich:column>
                                    <rich:column>
                                        <h:outputText value="Tamanho PF"/>
                                    </rich:column>
                                    <rich:column width="250px">
                                        <h:outputText value="Observação"/>
                                    </rich:column>
                                    <rich:column width="180px">
                                        <h:outputText value="Status"/>
                                    </rich:column>
                                    <rich:column width="80px">
                                        <h:outputText value="Serviços"/>
                                    </rich:column>
                                </rich:columnGroup>
                            </f:facet>

                            <rich:column id="outPutNumeroOS" styleClass="alignCenter">
                                <h:outputText value="#{os.numero_os}" />
                            </rich:column>

                            <rich:column id="outPutDataAbertura" styleClass="alignCenter">
                                <h:outputText value="#{os.data_abertura_os}">
                                    <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"/>
                                </h:outputText>
                            </rich:column>

                            <rich:column id="outPutTamanhoPF" styleClass="alignCenter">
                                <h:outputText value="#{os.tamanho_pf_os}">
                                    <f:convertNumber pattern="#,##0.00"/>
                                </h:outputText>
                            </rich:column>

                            <rich:column id="outPutObs" styleClass="alignLeft">
                                <h:outputText value="#{os.obs_os}" />
                            </rich:column>

                            <rich:column id="nivelStatus" styleClass="alignCenter">
                                <h:outputText value="Aberto" id="nivel0" rendered="#{os.status_os == 0}"/>
                                <h:outputText value="Cancelado" id="nivel1" rendered="#{os.status_os == 1}"/>
                                <h:outputText value="Fechado" id="nivel2" rendered="#{os.status_os == 2}"/>
                            </rich:column>

                            <rich:column styleClass="alignCenter">                      
                                <a4j:commandLink id="ListarServico" reRender="frmRelatorioGeral">
                                 <h:graphicImage value="/images/file.gif"/><rich:toolTip for="ListarServico" value="Listar Serviços"/>
                                </a4j:commandLink>
                            </rich:column>
                        </rich:dataTable>
                    </div>

no ultima coluna tem um icone <a4j:commandLink que redireciona para outra pagina, o que eu queria era que ela renderizasse um outro componente ma mesma pagina, como faço isso?
Abraço

3 Respostas

francis.junio

no reRender vc coloca o id do form : o id do componente que deseja renderizar…
assim
reRender =“form:component”

Acho que isso vai renderizar o componente que vc deseja.

satangoss

francis.junio:
no reRender vc coloca o id do form : o id do componente que deseja renderizar…
assim
reRender =“form:component”

Acho que isso vai renderizar o componente que vc deseja.

Olá Francis, O problema é justamente este, ele já tem o reRender na descrição do <a4j:commandLink id=“ListarServico” reRender=“frmRelatorioGeral”>, mas mesmo assim ele não renderiza o <a4j:form id=“frmRelatorioGeral”>, lembrando que a tabela esta no <a4j:form id=“frmCombos”> já o relatório geral esta no <a4j:form id=“frmRelatorioGeral”>.
Já tentei coloca-los no mesmo form só rederizando as divs mas memso assim nada.

surfzera

cara aplica o a4j:support ao componente e mandar renderizer o formulario novamente.

Criado 16 de agosto de 2010
Ultima resposta 16 de ago. de 2010
Respostas 3
Participantes 3