Página anterior | Voltar ao início do trabalho | Página seguinte |
<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".
/// <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
Página anterior | Voltar ao início do trabalho | Página seguinte |
|
|