LAYERDEV

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Trabalhando com GridView e RowCommand

por Mauricio Junior em 1/1/2011 0

        Olá pessoal, hojequero mostrar uma coisa bem simples e precisa. Por ser tão simples, existempessoas que não prestam atenção e a funcionalidade acaba não funcionando. Otrabalho com GridView é bem legal, isto é, ajuda muito o desenvolvedor efunciona bem. Antigamente, para o povo de ASP 3.0; toda tabela era programadamanualmente e agora o pessoal usa um componente funcional com pequenas linhasde código.

 

Referência:

Ferramenta:Visual Studio .NET 2008

Linguagem C#.NET

Plataforma: Web

Nível: Iniciante

 

         O objetivo desse artigo é mostrar comoutilizar o RowCommand com GridView. Mostro como apenas deletar um dado do bancode dados clicando no botão dentro do grid.

 

 

<asp:GridView ID="gridUsuario" runat="server" Width="100%"

                    AutoGenerateColumns="false" onrowcommand="gridUsuario_RowCommand">

                <Columns>

                    <asp:BoundField DataField="NO_USUARIO" HeaderText="Usuário" />

                    <asp:BoundField DataField="NO_SISTEMA" HeaderText="Sistema" />

                    <asp:BoundField DataField="CH_AUTENTICACAO" HeaderText="Id" />

                    <asp:ButtonField ButtonType="Image" CommandName="Delete"

                    ImageUrl="~/App_Themes/Padrao/image/fechar.jpg"

                    ControlStyle-Width="15" HeaderText="Excluir"/> 

                </Columns>

               </asp:GridView>

 

Code 1.1

 

         A primeira coisa é gerar o grid com oscampos que preciso para aparecer na tabela. A tag <asp:BoudField> é umcampo normal. Dentro este campo, existe a propriedade chamada DataField cujocoloquei o nome que veio do meu banco de dados, ou seja, da tabela do meu bancode dados. Note que para cada campo eu fiz a mesma coisa, só o último que não. Éum pouco diferente.

         Depois disto, note que no início do<asp:GridView> existe uma propriedade chamada onRowCommand com o valor“gridUsuario_RowCommand”. Porque ele colocou esse valor? Porque o Id doGridView chama “gridUsuario” com isso, o software atribui automaticamente o nome“underline” o comando que, no nosso caso é RowCommand.

         Para atribuir este OnRowCommand énecessário mudar a aba na apresentação para Design ou Split. Automaticamenteaparecerá o grid. (Imagem 1)

 

Imagem 1

 

         Depois de selecionado acessei aspropriedades e cliquei em Events. (Imagem 2)

Imagem 2

 

         Selecionei a Ação RowCommand clicandoduas vezes. Automaticamente foi criado o nome gridUsuarioRowCommand. Dessa forma, no grid foi acrescentado aquelalinha de comando. [onrowcommand="gridUsuario_RowCommand]

         Além disso, um método foi criado. (Code2)

 

 

protected void gridUsuario_RowCommand(object sender, GridViewCommandEventArgs e)

{}

Code 2

         Voltando para a página de apresentação,criei um novo campo para armazenar uma imagem com função de botão. (Code 3)

 

 

<asp:ButtonField ButtonType="Image" CommandName="Delete"

                    ImageUrl="~/App_Themes/Padrao/image/fechar.jpg"

                    ControlStyle-Width="15" HeaderText="Excluir"/>

 

Code 3

 

         Coloquei o tipo debotão com a propriedade ButtonType e o valor Image. Depois informei o nome docomando que será executado, CommandName=”Delete”. Escolhi para aparecer umaimagem em vez de aparecer um texto, caso queira deixar deixar um texto, não temproblema algum. Para finalizar coloquei o nome do título da coluna chamada“Excluir”. Aquele título que fica lá em cima.

         É lógico que não parou por ai, agorapreciso colocar o código principal para que depois de acionado o clique executeo comando Delete. (Code 4)

 

 

protected void gridUsuario_RowCommand(object sender, GridViewCommandEventArgs e)

        {

            if (e.CommandName == "Delete")

            {

                int index = int.Parse((string)e.CommandArgument);

                string chaveDelete = gridUsuario.Rows[index].Cells[2].Text;

 

                _usuario.deleteUsuario(Convert.ToInt32(chaveDelete));

                Response.Redirect("manterusuario.aspx");

            }

        }

 

Code 4

 

         A primeira coisa foi perguntar se essecomando é igual a “Delete”, se for igual, com o mesmo argumento, pego o indexreferente a linha selecionada. A linha selecionada precisa ser identificadapara saber qual a linha preciso deletar. A minha chave principal está na coluna2, ou seja, a chave da tabela de dados.

         Com o index selecionado, basta pegar ovalor do texto na coluna 2. (Code 5)

 

 

string chaveDelete = gridUsuario.Rows[index].Cells[2].Text;

 

Code 5

 

         Depois de pegar ovalor correto que preciso, só chamei o método de negócio passando os parâmetrose redirecionei para a mesma página. (Code 6)

 

 

            _usuario.deleteUsuario(Convert.ToInt32(chaveDelete));

            Response.Redirect("manterusuario.aspx");

 

Code 6

 

         Além disso, você pode colocar mensagensde confirmação e tudo mais. Fica ai uma dica para incrementar. O resultadofinal é esse. (Imagem 3)

 

Imagem 3

 

         Como as informações são confidenciais,escolhi riscá-las.

         Não falei como conectar no banco dedados nem nada, só quis mostrar como deixar funcionando o uso do componentegridView com o comando RowCommand. As questões com o banco de dados de select edelete é com você.

Espero que tenha gostadoqualquer coisa só entrar em contato pelo site.

voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:


Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Problemas na acentuação
Método SHA 256
Adicionando Valores no ComboBox
Vídeo: Análise do Android 3.0 por um especialista
Anime-se com o Silverlight
Vídeo Live Search
101 Exemplos de Linq
Windows Phone 7 Jump Start
Gerando instalador de serviço
Vídeo - Ler EventLog do Windows usando C#.NET
Comunicação .NET e VB 6.0 – Parte I
Misturando dados
Usando o Flash para Desenvolver Game no Microsoft XNA Developer
Encontrar o valor no texto
NDOC para versão framework 2.0
Criando Splash - Com Efeito
Criando Sections Customizados
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010
Como fazer uma enquete - parte 2
Abrir o programa apenas uma vez
Filtrar o DataTable Dinamicamente
MinimizeBox no Celular
Contagem Regressiva com C# e JavaScript
Append Data Bound Items
GridView - Valor total no footer
Dados via Post no VS 2005
Exemplos de Queries Linq
Atalho novo, formatar e concatenar usando Visual Studio .NET 2010
Imprimir com Visual Studio.NET 2005 usando C#.NET.
As várias maneiras de mandar e-mail utilizando .NET
Chama método que está dentro do COM PLUS (COM +)
Resources como padrão de mensagens
User Control Windows executando no Internet Explorer (parte 1 de 2)
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte IV)
Vídeo-Aula: Criando um Sistema para Celular com Banco de Dados




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...

Promoções de livros móveis .NET

Baixa agora o seu e aprenda a programar....

A Era dos UltraBooks

Os modelos mais dos Ultrabooks...




NETITC