Вы находитесь на странице: 1из 14

Gridview: Confirmao de excluso via Javascript

A gridview um componente que nos proporciona uma grande quantidade de recursos,


fazendo com que em muitos casos possamos us-la sem escrever uma linha sequer de
cdigo.

Mas existem ocasies em que precisamos de funcionalidades que a gridview no nos
proporciona diretamente. Um desses casos quando adicionamos um link de excluso
na gridview, mas queremos que o usurio confirme de fato a excluso. Felizmente, a
gridview bastante customizvel, e com pouco trabalho conseguimos o efeito desejado.

Para esse exemplo estou usando o Visual Studio 2008, mas com poucas modificaes
possvel obter o mesmo resultado em verses anteriores.

Primeiramente, Crie um novo website. Agora, clique na aba "Server Explorer",
conforme a figura abaixo:

Clique com o boto direito em "Data Connections" e em seguida em "Add Connection":

Em nosso exemplo usaremos o banco de dados de exemplo Northwind. Caso no o
tenha instalado, pode baix-lo (juntamente com o banco Pubs) aqui. Crie a Data
Connection e renomeie-a para Northwind:

Aps criar a connection, v no menu Website/Add New Item. Marque o item "LINQ to
SQL Classes" e em Name coloque "Northwind.dbml":

Caso apareca uma caixa perguntando se deseja adicionar o arquivo na pasta App_Code,
confirme.
Repare que apareceu a janela de designer do dbml:

Voltando ao Server Explorer, expanda a connection Northwind, e logo aps, expanda o
item Tables. Arraste a tabela "Customers" para o designer, conforme mostrado acima.
Abra agora a pgina padro (Default.aspx, que no caso renomeei par grid.aspx) do
website, e adicione nela (pela Toolbox) uma LinqDataSource. Clique na seta que
aparece na datasource criada e marque "Enable Delete". Agora, clique em "Configure
datasource":



Como s temos um DataContext criado, ele estar selecionado automaticamente. Clique
em next:

Semelhantemente ao ocorrido no passo anterior, a nica tabela (Customers) que
adicionamos ao dbml estar selecionada. Clique em "Finish".
Agora, adicione uma gridview pgina. Semelhantemente ao que fizemos com a
linqdatasource, selecione a gridview e clique na seta (tasks), e em "Choose Data
Source" selecione a Linqdatasource que acabamos de criar. Marque tambm a caixa
"Enable Deleting". Com isso, ser criada uma coluna com o link "Delete" para cada
registro:


Repare que as colunas foram adicionadas automaticamente gridview.
Vamos ento programao. Para que possamos acrescentar o javascript a cada linha da
gridview, usaremos o evento RowDataBound. Acrescente o cdigo ao evento:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
LinkButton lkbDelete;
if (e.Row.RowType == DataControlRowType.DataRow)
{
lkbDelete = (LinkButton)e.Row.Cells[0].Controls[0]; //fazemos uma referncia ao
boto delete criado automaticamente
string cliente = e.Row.Cells[1].Text;
string prompt = "javascript:return confirm('Deseja realmente excluir o cliente " + cliente
+ "?')";

lkbDelete.Attributes.Add("onClick", prompt);
}
}

Aps acrescentar o cdigo, execute o projeto. Clique em algum link "delete" na
gridview e veja que, caso clique em cancelar, nada acontece. Se clicar em Ok, o registro
ser removido:


Ateno: Como estamos usando o exemplo Northwind, ao confirmar uma excluso
provvel que ocorra um erro, pois os ndices das tabelas ligadas tabela Customers no
esto configurados para propagao da excluso. Caso queira evitar esse erro, altere os
ndices atravs do gerenciador do SQL Server ou de outra ferramenta.

Fcil, no? Em breve espero postar mais artigos sobre a gridview.
Os nossos leitores gostaram igualmente de
As melhores frases para se usar no trabalho (principalmente quando a coisa
aperta)
O Desabafo de um Desenvolvedor Web
Decepcionado com a classe
Te lembra algo?
Postado por Wagner s 3:45 PM
Marcadores: Asp.Net , C# , Gridview , LINQ , Programao , Sql Server
Artigos Relacionados
Grid para PHP
Removendo subpastas. Parte 2 - uma forma mais "primitiva"
Removendo subpastas. Parte 1 - usando recursos existentes.
Microsoft WebsiteSpark
Exportando para Excel
Criando um site com DotNetNuke. Parte final - Skins e Containers.
Criando um site com DotNetNuke. Parte 4 - Adicionando pginas / trabalhando
com mdulos.
Criando um site com DotNetNuke. Parte 3 - Trabalhando com o contedo
Criando um site com DotNetNuke. Parte 2 - Menus administrativos
Criando um site com DotNetNuke. Parte 1 - Instalao e viso geral
Gridview: Confirmao de excluso via Javascript
O Desabafo de um Desenvolvedor Web
O Desabafo de um Web Designer
1 comentrios:
Annimo disse...
Valeu tava precisando disso..
resolveu meu problema.
2 de maio de 2009 19:46
Postar um comentrio
Links para esta postagem
Criar um link
Postagem mais recente Postagem mais antiga Incio
Assinar: Postar comentrios (Atom)


Tags
Carreira
Humor
Programao
Decepcionado com a Classe
Tempo
Gerenciamento
Asp.Net
C#
CMS
DotNetNuke
Python
Recursividade
Sql Server
Webdesign
Arquivos
Pastas
Usurios
Windows Forms
.Net
CSS
Empreendedorismo
Excel
Expression Web
Grid
Gridview
IDE
Incio
LINQ
Linux
MYSQL
Microsoft
PHP
Subversion
Tutorial
UML
Vb.Net
Visual Studio
Windows
XML
free
opensource
programas
segurana
senhas
utilitrios
wxPython
Carreira (15)
Humor (14)
Programao (10)
Decepcionado com a Classe (9)
Tempo (9)
Gerenciamento (8)
Asp.Net (7)
C# (5)
CMS (5)
DotNetNuke (5)
Python (3)
Recursividade (3)
Sql Server (3)
Webdesign (3)
Arquivos (2)
Pastas (2)
Usurios (2)
Windows Forms (2)
.Net (1)
CSS (1)
Empreendedorismo (1)
Excel (1)
Expression Web (1)
Grid (1)
Gridview (1)
IDE (1)
Incio (1)
LINQ (1)
Linux (1)
MYSQL (1)
Microsoft (1)
PHP (1)
Subversion (1)
Tutorial (1)
UML (1)
Vb.Net (1)
Visual Studio (1)
Windows (1)
XML (1)
free (1)
opensource (1)
programas (1)
segurana (1)
senhas (1)
utilitrios (1)
wxPython (1)

Blog Archive

Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

View Archive

O Desabafo de um Desenvolvedor Web
O Desabafo de um Web Designer

partner-pub-0669 ISO-8859-1
Pesquisar

recursividade.we


Este blog possui atualmente:
27 Comentrios em 35 Artigos!
Widget UsurioCompulsivo





Quem sou eu

Wagner Ponciano de Souza
Visualizar meu perfil completo

Entre em contato
Aguarde, preparando novo formulrio. Obrigado.



Poltica de privacidade

Visitantes no momento:



Ferramentas
C# Code Export
Keepass Password Safe
Stani's Python Editor
Task Coach
Visual Studio Express

Blogs recomendados

http://carreirasolo

Carreirasolo.org
Como avaliar uma cadeira para home-office?
21 horas atrs

http://nerdson.co

Nerdson no vai escola
Os nerds tambm amam (5)
3 dias atrs

Humor na Informtica
Seu computador travou? Chame o Hlio!
2 semanas atrs

Jos Papo Weblog
Video e mini curso sobre desenvolvimento em times usando Eclipse e JEE com
ALM
3 semanas atrs

http://falafreela.c

Fala Freela!
Em 2011
1 ms atrs

http://blog.asperc

Dbito Tcnico
Kanban! Retrospectivas QconSP, Encontro gil, Mar Fortal e AgileVale
2 meses atrs

Caf com Gelo
Ser que o Deus dos cristos ruim mesmo?
7 meses atrs

Tirinhas.com
xkcd tira n - 545
1 ano atrs

http://mattberseth

Matt Berseth
HTML/CSS-Only Data Pager Control
1 ano atrs

Sites recomendados
MSDN Brasil
Python Brasil

Вам также может понравиться