terça-feira, 8 de outubro de 2013

GridView com CheckBox (verificando seleção) em C# ASP.NET

O Nosso grid, será muito simples termos algumas colunas e um Checkbox na primeira coluna como podem ver em nosso HTML:


    <asp:Panel ID="Panel1" runat="server" BorderStyle="Dashed" Height="600px">
        <center><asp:Label ID="Label1" runat="server"
   
           
            Text="Vamos utilizar as categorias de nosso site para popular o grid view, clique no botão abaixo que iremos preencher o gird."
            style="text-align: center"></asp:Label>
        <br />
        <asp:Button ID="Button1" runat="server" Font-Size="9pt" onclick="Button1_Click"
            Text="Preencher Grid" Width="207px" /></center>
        <br />
        <br />
        <asp:GridView ID="GridView1" runat ="server" AutoGenerateColumns ="False"
            ShowFooter ="True"  OnSelectedIndexChanged="Gridview1_SelectedIndexChanged"
            BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"
            CellPadding="3" GridLines="Horizontal" >
        <Columns >
            <asp:TemplateField >
            <ItemTemplate >
            <asp:CheckBox ID="chk" runat ="server" />
            </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField  DataField ="IDCATEGORIA" HeaderText ="ID" />
            <asp:BoundField DataField="NMCATEGORIA" HeaderText ="Nome da Categoria" />
            <asp:BoundField DataField ="ATIVO" HeaderText ="Situação" />
        </Columns>
        <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
            <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
            <SelectedRowStyle BackColor="#738A9C" ForeColor="#F7F7F7" Font-Bold="True" />
            <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
        <HeaderStyle BackColor="#4A3C8C" BorderColor="Fuchsia" BorderStyle="Solid"
                Font-Bold="True" ForeColor="#F7F7F7" />
            <AlternatingRowStyle BackColor="#F7F7F7" />
            <SortedAscendingCellStyle BackColor="#F4F4FD" />
            <SortedAscendingHeaderStyle BackColor="#5A4C9D" />
            <SortedDescendingCellStyle BackColor="#D8D8F0" />
            <SortedDescendingHeaderStyle BackColor="#3E3277" />
        </asp:GridView>

        <br />
        <asp:Button ID="Button2" runat="server" Font-Size="9pt" onclick="Button2_Click"
            Text="Verificar Seleção" Visible="False" Width="207px" />
        <br />
        <br />
        <asp:ListBox ID="ListBox1" runat="server" Visible="False" Width="297px">
        </asp:ListBox>

    </asp:Panel>

O que nosso código irá fazer, popular um gridview e adicionar um CheckBox na primeira coluna, teremos um botão ao final do código para verificar quais foram os CheckBox selecionados e imprimir a seleção em um ListBox veja o exemplo abaixo:

    protected void Button2_Click(object sender, EventArgs e)
    {
        ListBox1.Items.Clear();
        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            CheckBox chkb = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("chk");
            if (chkb.Checked)
            {
                string name = GridView1.Rows[i].Cells[2].Text;
                ListBox1.Visible = true;
                ListBox1.Items.Add(name.ToString());
            }
        }
    }

Bons estudos.

0 comentários:

Postar um comentário