Dev (Back & Front)ARTIGO

Usando Checkbox no repeater

Requisitos

Para desenvolver essa aplicação será necessário:

  • Visual Studio 2005 ou compatível
  • Framework 2.0

1º Adicione um Repeater no formulário

2º Vá no modo Source para editar o template do arquivo

3º Adicione o componente checkbox

O código deverá estar parecido com isso

        <asp:Repeater ID="Repeater1" runat="server"><br />        <ItemTemplate><br />                <asp:CheckBox runat="server"></asp:CheckBox><br />        </ItemTemplate><br />        </asp:Repeater>

4º Adicionar DataSource ao Repeater

Nesse caso eu vou criar uma coleção de String e popular com um laço e instanciar o valor do DataSource do Repeater1 com a lista. No método Page_Load coloque o seguinte código.

        if (!Page.IsPostBack)<br />        {<br />            List<String> lista = new List<string>();<br /><br />            for (int i = 0; i < 10; i++)<br />                lista.Add(i.ToString());<br /><br />            Repeater1.DataSource = lista;<br /><br />            Repeater1.DataBind();<br />        }

5º Colocando Eval no Repeater

Agora coloque o valor da lista que você irá visualizar no Repeater
Container.DataItem
Ficará da seguinte forma

        <asp:Repeater ID="Repeater1" runat="server"><br />            <ItemTemplate><br />                <asp:CheckBox ID="CheckBox1" runat="server" Text='<%# Container.DataItem %>'></asp:CheckBox><br />            </ItemTemplate><br />        </asp:Repeater>

6º Imprimindo o resultado

Adicione um Label e um Button, no evento Click do botão adicione o seguinte código. Isso servirá para exibir quais checkbox estão checados.

        Label1.Text = String.Empty;<br /><br />        foreach (RepeaterItem item in Repeater1.Items)<br />            if (((CheckBox)item.Controls[1]).Checked)<br />                Label1.Text = ((CheckBox)item.Controls[1]).Text + "<br />";

Bem simples, isso aqui é para quem realmente está iniciando, apenas uma maneira de usar controles dentro de um Repeater, poderia ser qualquer outro controle, a idéia é saber utilizar controles dentro de um repeater.
Espero que tenha sido útil, até a próxima.

é técnico em Processamento de Dados pelo Colégio Técnico Elevação, tecnólogo em Desenvolvimento de Sistemas para Web no Instituto Brasileiro de Tecnologia Avançado (IBTA, agora Instituto Veris) e faz pós-graduação em Engenharia de Sistemas com ênfase em SOA, no Instituto Veris.

Ver perfil