Olá! Tuesday, 28 de February de 2017.



Dicas CódigoFonte.net
Thursday, 17 de July de 2008

Trabalhando com Repeater no ASP.Net

Olá Pessoal, como andam os grandes projetos?

Hoje irei falar um pouco do Repeater, componente ASP.Net para exibição de dados em nossas páginas. O bom deste componente é que podemos definir o layout dos dados livremente, por exemplo, podemos montar uma tabela que não usa a tag <table> mas usa apenas DIV. Facilmente, conseguimos criar esta característica com este componente.

Inicialmente irei utilizar tabelas simples para exibição de dados, mas fica a seu critério.

Mas como eu crio um Repeater?

Para adicionar um repeater em sua página, copie e cole o seguinte código:

  1. <asp:Repeater ID="rptMeusDados" runat="server">
  2.    <HeaderTemplate>
  3.       <table>
  4.       <tr>
  5.          <th>Código</th>
  6.          <th>Nome</th>
  7.       </tr>
  8.    </HeaderTemplate>
  9.    <ItemTemplate>
  10.      <tr>
  11.         <td><%#DataBinder.Eval(Container.DataItem, "CODIGO")%></td>
  12.         <td><%#DataBinder.Eval(Container.DataItem, "NOME")%></td>
  13.      </tr>
  14.    </ItemTemplate>
  15.    <AlternatingItemTemplate>
  16.      <tr style="background: #ccc">
  17.         <td><%#DataBinder.Eval(Container.DataItem, "CODIGO")%></td>
  18.         <td><%#DataBinder.Eval(Container.DataItem, "NOME")%></td>
  19.      </tr>
  20.    </AlternatingItemTemplate>
  21.    <FooterTemplate>
  22.       </table>
  23.    </FooterTemplate>
  24. </asp:Repeater>


Veja que neste código temos algumas tags interessantes:

- HeaderTemplate: define o cabeçalho de nosso Repeater.
- ItemTemplate: O template dos dados para cada linha do datatable.
- AlternatingItemTemplate: Mesmo que ItemTemplate, mas o ASP.Net irá alternar o layout desta tag com o layout do ItemTemplate.
- FooterTemplate: define o rodapé de nosso Repeater.

Pronto. Com isto já definimos o layout de nosso Repeater e quais serão as informações que ele irá exibir. Ainda neste exemplo, no CodeBehind temos um datatable com duas colunas chamadas de CODIGO e NOME. Veja:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3.         DataTable dtDados = new DataTable();
  4.         dtDados.Columns.Add(new DataColumn("CODIGO", Type.GetType("System.Int32")));
  5.         dtDados.Columns.Add(new DataColumn("NOME", Type.GetType("System.String")));
  6.  
  7.         DataRow dr = dtDados.NewRow();
  8.         dr["CODIGO"] = 1;
  9.         dr["NOME"] = "Emmanuel";
  10.  
  11.         dtDados.Rows.Add(dr);
  12.  
  13.         DataRow dr = dtDados.NewRow();
  14.         dr["CODIGO"] = 2;
  15.         dr["NOME"] = "CódigoFonte";
  16.  
  17.         dtDados.Rows.Add(dr);
  18.  
  19.         rptMeusDados.DataSource = dtDados;
  20.         rptMeusDados.DataBind();
  21. }


Veja que no método Page_Load de nossa página eu crio um DataTable e adiciono valores a ele, logo depois preencho o nosso Repeater com estes valores, atribuindo o DataSource e depois aplicando um DataBind.

Pronto. Vejam como é simples utilizar Repeater em nossas páginas ASP.Net. Com ele podemos fazer desde simples tabelas com exibição de dados, até um Repeater com outro Repeater dentro dele. Isto chama-se Nestead Repeater - ou Repeater hierárquico, mas vamos deixar este tema para um outro artigo.

Sucesso a todos e até a próxima.

Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » CodigoFonte.eti.br » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010