🔥 Apps, books, system as a service, podcast and more



GridView Parte III

Visual Studio .NET 2005

 

 

 

Olá pessoal, meu nome é Mauricio Junior. Mostrarei nessa parte III do artigo como deletar dados usando o novo componente da IDE 2005 da Microsoft chamado GridView.

 

É uma seqüência que necessita seguir passo a passo.

 

Parte I:

http://www.aspneti.com/visualizar/downloadArtigo.aspx?ch_artigos=152

 

Parte II:

http://www.aspneti.com/visualizar/downloadArtigo.aspx?ch_artigos=155

 

 

 

<asp:GridView ID="gdBancoServidor" runat="server" CellPadding="4" AutoGenerateColumns="False" Width="70%" AllowPaging="True"

                                                            GridLines="None"

                                                            OnRowEditing="gdBancoServidor_RowEditing"

                                                            OnRowCancelingEdit="gdBancoServidor_RowCancelingEdit"

                                                            OnRowUpdating="gdBancoServidor_RowUpdating"

                                                            DataKeyNames="IdCooperativa"

                                                            OnRowDeleting="gdBancoServidor_RowDeleting">

                                                            <AlternatingRowStyle BackColor="#cdcdcd" />

                                                            <HeaderStyle BackColor="#CCCCCC" HorizontalAlign="Left" />

                                                            <PagerStyle HorizontalAlign="Left" />

                                                            <Columns>

                                                                <asp:TemplateField ShowHeader="false">

                                                                    <ItemTemplate>

                                                                        <asp:Label Visible="false" ID="lblIdCooperativa" runat="server">

                                                                            <%# DataBinder.Eval(Container.DataItem, "IdCooperativa")%>

                                                                        </asp:Label>

                                                                    </ItemTemplate>

                                                                     <EditItemTemplate>

                                                                         <asp:TextBox Visible="false" ID="txtIdCooperativa" runat="server"

                                                                        Text='<%# DataBinder.Eval(Container.DataItem, "IdCooperativa") %>'>

                                                                        </asp:TextBox>

                                                                    </EditItemTemplate>

                                                                </asp:TemplateField>

                                                                <asp:TemplateField HeaderText="NR COOP">

                                                                    <ItemTemplate>

                                                                        <asp:Label ID="lblNumCooperativa" runat="server">

                                                                            <%# DataBinder.Eval(Container.DataItem, "NumCooperativa")%>

                                                                        </asp:Label>

                                                                    </ItemTemplate>

                                                                     <EditItemTemplate>

                                                                        <asp:TextBox ID="txtNumCooperativa" runat="server"

                                                                            Text='<%# DataBinder.Eval(Container.DataItem, "NumCooperativa") %>'>

                                                                        </asp:TextBox>

                                                                    </EditItemTemplate>

                                                                </asp:TemplateField>

                                                                <asp:TemplateField HeaderText="BANCO DE DADOS">

                                                                    <ItemTemplate>

                                                                        <asp:Label ID="lblInitialCatalog" runat="server">

                                                                            <%# DataBinder.Eval(Container.DataItem, "InitialCatalog") %>

                                                                        </asp:Label>

                                                                    </ItemTemplate>

                                                                    <EditItemTemplate>

                                                                        <asp:TextBox ID="txtInitialCatalog" runat="server"

                                                                            Text='<%# DataBinder.Eval(Container.DataItem, "InitialCatalog") %>'>

                                                                        </asp:TextBox>

                                                                    </EditItemTemplate>

                                                                </asp:TemplateField>

                                                               <asp:TemplateField ShowHeader="true" HeaderText="SERVIDOR">

                                                                    <ItemTemplate>

                                                                        <asp:Label ID="lblDataSource" runat="server">

                                                                            <%# DataBinder.Eval(Container.DataItem, "DATASOURCE") %>

                                                                        </asp:Label>   

                                                                    </ItemTemplate>

                                                                    <EditItemTemplate>

                                                                        <asp:TextBox ID="txtDataSource" runat="server"

                                                                        Text='<%# DataBinder.Eval(Container.DataItem, "DATASOURCE") %>'>

                                                                        </asp:TextBox>

                                                                    </EditItemTemplate>

                                                                </asp:TemplateField>                                                          

                                                               <asp:TemplateField ShowHeader="true" HeaderText="AMBIENTE">

                                                                    <ItemTemplate>

                                                                        <asp:Label ID="lblIdAmbiente" runat="server">

                                                                            <%# DataBinder.Eval(Container.DataItem, "IdAmbiente") %>

                                                                        </asp:Label>   

                                                                    </ItemTemplate>

                                                                    <EditItemTemplate>

                                                                        <asp:TextBox ID="txtIdAmbiente" runat="server"

                                                                        Text='<%# DataBinder.Eval(Container.DataItem, "IdAmbiente") %>'>

                                                                        </asp:TextBox>

                                                                    </EditItemTemplate>

                                                                </asp:TemplateField>

                                                               

                                                                <asp:CommandField ButtonType="Button" CancelText="C" DeleteText="D" EditText="E" HeaderText="A&#199;&#195;O"

                                                                        InsertVisible="False" ShowDeleteButton="true" ShowEditButton="True" UpdateText="A" />

                                                            </Columns>

                                                            <PagerSettings Mode="NumericFirstLast" Position="TopAndBottom" FirstPageText="Primeira" LastPageText="&#218;ltima" />

                                                        </asp:GridView>

 

Referência: 3.0 – GridView Parte III

 

O código do grid está na referência 3.0 onde existe uma linha que é importante para o exemplo que irei mostrar a seguir. (Referência 3.1 – GridView Parte III)

 

 

DataKeyNames="IdCooperativa"

 

Referência: 3.1 – GridView Parte III

 

A referência 3.1 chamada DataKeyNames com o valor IdCooperativa, significa que a chave da tabela onde pode ser apagada está com o nome IdCooperativa. O código que irá pegar a chave para deletar o registro, vai ser desse campo.

 

No laytout da página mostra dois botões. Um com o texto para o usuário ver “E” e outro “D”, ou seja, Editar e Deletar. (Referência 3.2 – GridView Parte III).

 

Referência: 3.2 – GridView Parte III

 

Como falado anteriormente, mostrarei como apagar um dado que está aparecendo no componente no clique do botão “D”. Cliquei com botão direito em cima do grid e logo depois em “properties”. Em seguida, cliquei no ícone “events” que parece um raiozinho. A propriedade que agora é usado chama-se RowDeleting. Cliquei duas vezes na mesma e foi criado um método automaticamente “gdBancoServidor_RowDeleting”.

 

 

Método RowDeleting

 

 

 

/// <summary>

    /// Método que pega o valor e manda para a camada acima para deletar

    /// o valor informado da tabela.

    /// </summary>

    /// <param name="sender"></param>

    /// <param name="e"></param>

    protected void gdBancoServidor_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

        string idCooperativa = this.gdBancoServidor.DataKeys[e.RowIndex]["IdCooperativa"].ToString();

 

        if (config.ExcluirCooperativaOffLine(Convert.ToInt32(idCooperativa)))

        {

            this.gdBancoServidor.EditIndex = -1;

            PreencheGridView();

        }

    }

 

Referência: 3.3 – GridView Parte III

 

Explicação:

 

Para pegar o valor chave do grid, atribui a uma string para utilizá-la mais abaixo. (Referência 3.4 – GridView Parte III)

 

 

string idCooperativa = this.gdBancoServidor.DataKeys[e.RowIndex]["IdCooperativa"].ToString();

 

Referência: 3.4 – GridView Parte III)

 

Pego o DataKeys, ou seja, o valor do campo chave. O [e.RowIndex] é o valor da linha clicada, para não pegar todos ou só o primeiro item de chave. O [“idCooperativa”] é o nome do campo que quero pegar. Dessa forma, todo o valor fica armazenado na string idCooperativa.

 

A segunda parte do código, só chama o método que exclui o valor passando a chave cujo é necessário. Dentro desse código, conecto no banco de dados, adiciono o valor ao parâmetro sql, e mando executar. O mesmo retorna valor do tipo Boolean, ou seja, true ou false. (Referência 3.5 – GridView Parte III)

 

 

        if (config.ExcluirCooperativaOffLine(Convert.ToInt32(idCooperativa)))

        {

            this.gdBancoServidor.EditIndex = -1;

            PreencheGridView();

        }

 

Referência: 3.5 – GridView Parte III

 

Se o mesmo retornar true, mando preencher o grid novamente. Esse método ExcluirCooperativaOffLine é uma outra camada que também utiliza outra camada para excluir os valores, ou seja, três camadas. O intuito é mostrar como utilizar o gridView e não como conectar ou executar parâmetros no PL SQL.

 

 

Funcionamento

 

Depois do grid preenchido, irei excluir a linha do primeiro valor 0002. (Referência 3.6 – GridView Parte III)

 

 

Referência: 3.6 – GridView Parte III

 

 

Cliquei no botão “D” (deletar) e o grid preencho novamente apenas com dois registros no banco de dados. (Referência 3.7 – GridView Parte III)

 

 

Referência: 3.7 – GridView Parte III

 

 

Bom, fico por aqui.

Qualquer coisa, estamos ai.

 

Mauricio Junior

www.ascompras.com

www.aspneti.com

mauricio@ascompras.com

 

Sign up to our newsletter

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.

Top