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ÇÃO" InsertVisible="False" ShowDeleteButton="true" ShowEditButton="True" UpdateText="A" /> </Columns> <PagerSettings Mode="NumericFirstLast" Position="TopAndBottom" FirstPageText="Primeira" LastPageText="Ú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