GridView Parte III
Descrição do artigo publicado no aspneti.com, cada artigo com seu resumo
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
Subscribe ecode10.com
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.
Log In