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