none
Manipular valores em asp repeatar RRS feed

  • Pergunta

  • Boa Tarde Forum,

    Tenho uma aplicação web que estou usando o componente asp repeater. Para preencher este asp repeater busco dados em uma determinada tabela do BD.

    ..............
    //Parte do Código abaixo:
    <asp:Repeater ID="rptTpCta" runat="server" >
    <ItemTemplate>
    <tr class="linhaA">
    <td align="center"><%#Eval("FK_Cod_Fonte")%></td>
    <td align="center"><%#Eval("FK_Cod_Tipo_Cta")%></td>
    <td align="center"><%#Eval("Cta_Num_Bco")%> / <%#Eval("Cta_Num_Ag")%> </td>
    <td align="center"><%#Eval("Cta_Num_Conta")%></td>
    <td align="center"><%#Eval("Cta_Responsavel")%></td>
    <td align="center"><%#Eval("Cta_Dt_Cadastro", "{0:dd/MM/yyyy}")%></td>
    <
    td align="center"><%#Eval("Cta_Usu_Nome")%></td>
    <td align="center"><%#Eval("Cta_Saldo")%></td>
    .......

    Minha questão é a seguinte: Nesta tabela do BD tenho dois campos que são chave estrangeira.  No asp repeater eu não quero que apareça o codigo destas chave estrangeira e sim a descrição. O que teria que ser feito é ir nas tabelas e buscar as descrições pelo código. Porém, como faço para depois fazer com o que apareça estas descrições no asp repetar???

    Obrigada.


    Fernanda Lobo
    quinta-feira, 24 de junho de 2010 17:34

Respostas

  • Nanda,

    Você tem que fazer uma join na sua query. Tudo é feito na query do Sql. Se não souber como faz, cole aqui os campos que precisam aparecer da tabela principal e das tabelas da chave estrangeira que eu lhe ajudo a fazer um join entre as tabelas.


    Rafael Santos
    MSN: rafasantos86@hotmail.com
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto
    • Marcado como Resposta Fernanda Lobo quinta-feira, 24 de junho de 2010 22:39
    quinta-feira, 24 de junho de 2010 20:08
  • Olá Fernanda,

    Eu acredito que o Rafa já tenha lhe dado o caminho das pedras, mas seria algo assim:

    Seu suposto SELECT:

    SELECT a.FK_Cod_Fonte, a.FK_Cod_Tipo_Cta, a.Cta_Num_Bco, a.Cta_Num_Conta, a.Cta_Responsavel, a.Cta_Dt_Cadastro, a.Cta_Usu_Nome, Cta_Saldo, b.Cta_Fonte, b.Cta_Tipo_Cta
    FROM SUA_TABELA_ATUAL AS a
    INNER JOIN SUA_TABELA_DE_ONDE_VEM_AS_FKS AS b ON a.FK_Cod_Tipo_CTA = b.FK_Cod_Tipo_Cta

    ..............
    //Parte do Código abaixo:
    <asp:Repeater ID="rptTpCta" runat="server" >
    <ItemTemplate
    >
    <tr class
    ="linhaA">
    <td align="center"><%#Eval("Cta_Fonte")%></td>

    <td align="center"><%#Eval("Cta_Tipo_Cta")%></td>

    <td align="center"><%#Eval("Cta_Num_Bco")%> / <%#Eval("Cta_Num_Ag")%> </td
    >
    <td align="center"><%#Eval("Cta_Num_Conta")%></td
    >
    <td align="center"><%#Eval("Cta_Responsavel")%></td
    >
    <td align="center"><%#Eval("Cta_Dt_Cadastro", "{0:dd/MM/yyyy}")%></td>

    <
    td align="center"><%#Eval("Cta_Usu_Nome")%></td>
    <td align="center"><%#Eval("Cta_Saldo")%></td
    >
    .......

    Claro que os nomes dos campos eu estou supondo, já que não conheço sua estrutura de tabelas, mas seriam os que estão em negrito.

    Espero ter ajudado.

    []s

    PS: Se o post foi útil, classifique-o.


    Carlos Monteiro - MCP ASP.Net C#
    • Marcado como Resposta Fernanda Lobo quinta-feira, 24 de junho de 2010 22:49
    quinta-feira, 24 de junho de 2010 22:40

Todas as Respostas

  • Nanda,

    Você tem que fazer uma join na sua query. Tudo é feito na query do Sql. Se não souber como faz, cole aqui os campos que precisam aparecer da tabela principal e das tabelas da chave estrangeira que eu lhe ajudo a fazer um join entre as tabelas.


    Rafael Santos
    MSN: rafasantos86@hotmail.com
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto
    • Marcado como Resposta Fernanda Lobo quinta-feira, 24 de junho de 2010 22:39
    quinta-feira, 24 de junho de 2010 20:08
  • Rafael,

    Tem razão! Nem pensei nisto. Faço uma SQL com JOIN e daí uso os campos na propriedade EVAL.

    Obrigada pela ajuda! Vai dar certo.


    Fernanda Lobo
    quinta-feira, 24 de junho de 2010 22:38
  • Olá Fernanda,

    Eu acredito que o Rafa já tenha lhe dado o caminho das pedras, mas seria algo assim:

    Seu suposto SELECT:

    SELECT a.FK_Cod_Fonte, a.FK_Cod_Tipo_Cta, a.Cta_Num_Bco, a.Cta_Num_Conta, a.Cta_Responsavel, a.Cta_Dt_Cadastro, a.Cta_Usu_Nome, Cta_Saldo, b.Cta_Fonte, b.Cta_Tipo_Cta
    FROM SUA_TABELA_ATUAL AS a
    INNER JOIN SUA_TABELA_DE_ONDE_VEM_AS_FKS AS b ON a.FK_Cod_Tipo_CTA = b.FK_Cod_Tipo_Cta

    ..............
    //Parte do Código abaixo:
    <asp:Repeater ID="rptTpCta" runat="server" >
    <ItemTemplate
    >
    <tr class
    ="linhaA">
    <td align="center"><%#Eval("Cta_Fonte")%></td>

    <td align="center"><%#Eval("Cta_Tipo_Cta")%></td>

    <td align="center"><%#Eval("Cta_Num_Bco")%> / <%#Eval("Cta_Num_Ag")%> </td
    >
    <td align="center"><%#Eval("Cta_Num_Conta")%></td
    >
    <td align="center"><%#Eval("Cta_Responsavel")%></td
    >
    <td align="center"><%#Eval("Cta_Dt_Cadastro", "{0:dd/MM/yyyy}")%></td>

    <
    td align="center"><%#Eval("Cta_Usu_Nome")%></td>
    <td align="center"><%#Eval("Cta_Saldo")%></td
    >
    .......

    Claro que os nomes dos campos eu estou supondo, já que não conheço sua estrutura de tabelas, mas seriam os que estão em negrito.

    Espero ter ajudado.

    []s

    PS: Se o post foi útil, classifique-o.


    Carlos Monteiro - MCP ASP.Net C#
    • Marcado como Resposta Fernanda Lobo quinta-feira, 24 de junho de 2010 22:49
    quinta-feira, 24 de junho de 2010 22:40
  • Obrigada Carlos, é isto mesmo.
    Fernanda Lobo
    quinta-feira, 24 de junho de 2010 22:49