Página anterior Voltar ao início do trabalhoPágina seguinte 

GridView (Parte III) (página 2)

Mauricio Junior

 

 

<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".

2. 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[arroba]ascompras.com



 Página anterior Voltar ao início do trabalhoPágina seguinte 



As opiniões expressas em todos os documentos publicados aqui neste site são de responsabilidade exclusiva dos autores e não de Monografias.com. O objetivo de Monografias.com é disponibilizar o conhecimento para toda a sua comunidade. É de responsabilidade de cada leitor o eventual uso que venha a fazer desta informação. Em qualquer caso é obrigatória a citação bibliográfica completa, incluindo o autor e o site Monografias.com.