Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

benyhapper

Pedir confirmação antes de Excluir

Recommended Posts

Bom sou iniciante em ASP.NET, e não consigo implementar em meu código uma confirmação antes de excluir um registro.

Tenho o DataGrid feito e com o botão de excluir (imagebutton), gostaria que al clicar nele aparece um alert com a mensagem "Deseja excluir o Registro", porém tinha vários exemplos na internet mas não consegui fazer funcionar, se alguém puder dar uma ajuda eu agradeço, abaixo segue meu código:

 

<%@ Page Language="VB" ClientTarget="uplevel" Debug="true" %><%@ import Namespace="System.IO" %><%@ import Namespace="System.Data" %><%@ import Namespace="System.Data.Odbc" %><script runat="server">	Sub Page_Load(Sender As Object, E As EventArgs)		 If Not Page.IsPostBack Then		   erro.Text=Request.QueryString("status")		   MyDG.CurrentPageIndex = 0		   BindData("usuario")		 End If	 End Sub		 Public Sub BindData(ByVal ordenar as String)		 Dim myConnection As String = "driver={MySQL ODBC 3.51 Driver};server=localhost;database=db_asec;uid=asec_;pwd=asecpress_"		 Dim cn As OdbcConnection = New OdbcConnection(myConnection)		 '2. Cria o objeto command passando a string SQL		 Dim strSQL as String = "SELECT * FROM tbl_senhas ORDER BY "& ordenar		 Dim myCommand as New OdbcCommand(strSQL, cn)		 '3. Cria o objeto DataAdapter		 Dim myDA as New OdbcDataAdapter()		 myDA.SelectCommand = myCommand		 '4. Preenche o DataSet		 Dim myDS as New DataSet()		 Dim RcdCount As integer		 myDA.Fill(myDS,"tbl_senhas")		 RcdCount = myDS.Tables("tbl_senhas").Rows.Count.ToString()		 'Define a fonte de dados do datagrid		 MyDG.DataSource = myDS		 MyDG.DataBind()		 'mostra a informacao na pagina atual		 lblMessage.Text = "Página " & MyDG.CurrentPageIndex+1 & " de " & MyDG.PageCount & " - Total de Registros: " & RcdCount	 End Sub	  	 Sub MyDG_PageChanger(Sender As Object, E As DataGridPageChangedEventArgs)		 MyDG.CurrentPageIndex = E.NewPageIndex		 BindData("usuario")	 End Sub		 Sub MyDG_SortCommand(Source As Object, E As DataGridSortCommandEventArgs)		 BindData(e.SortExpression)	 End Sub		 Sub ImageButton_Command(sender As Object, e As CommandEventArgs)		 If (e.CommandName = "Alterar") Then			Server.Transfer("users_new.aspx?cod="&e.CommandArgument)			Elseif (e.CommandName = "Excluir") Then			Exclui(e.CommandArgument)			Elseif (e.CommandName = "Incluir") Then			Server.Transfer("users_new.aspx?new=true")		 End If	 End Sub		Sub Exclui(ByVal cod As String)		Dim myConnection As OdbcConnection		Dim myCommand As OdbcCommand		Dim strAtualiza As String		strAtualiza = "DELETE FROM tbl_senhas WHERE codigo="& cod		myConnection = New OdbcConnection("driver={MySQL ODBC 3.51 Driver};server=localhost;database=db_asec;uid=asec_;pwd=asecpress_")		myCommand = New OdbcCommand(strAtualiza, myConnection)		myConnection.Open()		'myCommand.ExecuteNonQuery()		erro.Text="Excluido com Sucesso"		MyDG.currentpageindex=0		BindData("usuario")	End Sub</script><html><head></head><body>	<form runat="server">		<p align="center">			<asp:Label id="Erro" runat="server" forecolor="Red" text="" font-size="XX-Small" font-names="Verdana" font-bold="True"></asp:Label>		</p>		<p>			<asp:ImageButton id="Incluir" runat="server" OnCommand="ImageButton_Command" CommandName="Incluir" CommandArgument="" ToolTip="Incluir Novo Registro" ImageUrl="imagens/new.gif"></asp:ImageButton>			<asp:DataGrid id="MyDG" runat="server" BorderColor="LightGray" AllowSorting="True" OnSortCommand="MyDG_SortCommand" BorderStyle="Solid" BorderWidth="1px" CellPadding="1" AutoGenerateColumns="False" Font-Size="XX-Small" Font-Names="Verdana" PageSize="2" Width="100%" AllowPaging="True" OnPageIndexChanged="MyDG_PageChanger">				<FooterStyle font-italic="False" font-strikeout="False" font-underline="False" font-overline="False" font-bold="False"></FooterStyle>				<PagerStyle backcolor="White" forecolor="Gray" nextpagetext="Próxima » " font-italic="False" font-strikeout="False" font-underline="False" font-overline="False" font-bold="False" horizontalalign="Center" prevpagetext=" « Anterior"></PagerStyle>				<AlternatingItemStyle backcolor="WhiteSmoke"></AlternatingItemStyle>				<ItemStyle height="28px"></ItemStyle>				<HeaderStyle backcolor="Gainsboro" height="30px" horizontalalign="Center" font-bold="True" verticalalign="Middle"></HeaderStyle>				<Columns>					<asp:BoundColumn DataField="codigo" HeaderText="Código" SortExpression="codigo" ReadOnly="True"></asp:BoundColumn>					<asp:BoundColumn DataField="usuario" HeaderText="Usuário" SortExpression="usuario"></asp:BoundColumn>					<asp:BoundColumn DataField="senha" HeaderText="Senha" SortExpression="senha"></asp:BoundColumn>					<asp:TemplateColumn HeaderText="Opções">						<ItemStyle horizontalalign="Center"></ItemStyle>						<ItemTemplate>							<asp:ImageButton id="Alterar" CommandArgument='<%#Container.DataItem("codigo")%>' CommandName="Alterar" OnCommand="ImageButton_Command" ToolTip="Alterar este Registro" ImageUrl="imagens/alterar.gif" AlternateText="Alterar" runat="server"></asp:ImageButton>							<asp:ImageButton id="Excluir" CommandArgument='<%#Container.DataItem("codigo")%>' CommandName="Excluir" OnCommand="ImageButton_Command" ToolTip="Excluir este Registro" ImageUrl="imagens/excluir.gif" AlternateText="Excluir" runat="server"></asp:ImageButton>						</ItemTemplate>					</asp:TemplateColumn>				</Columns>			</asp:DataGrid>			<asp:Label id="lblMessage" runat="server" font-size="XX-Small" font-names="Verdana" font-bold="True" horizontalalign="Center" font-name="Verdana" font-italic="False"></asp:Label>		</p>	</form></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Após vários dias tentando encontrei a solução para meu problema, o fato é que existem diversas dicas para fazer o que eu queria na internet, porém todas incompletas, todas pediam para acrescentar a função abaixo:

 

Private Sub MyDG_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)		If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.EditItem Then		   Dim btnExcluir As ImageButton = e.Item.FindControl("btnExcluir")				btnExcluir.Attributes.Add("onClick", "return confirm('Deseja excluir o item selecionado?');")		End If		If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then				e.Item.Attributes.Add("onMouseOver", "selecionaGrid(this)")				e.Item.Attributes.Add("onMouseOut", "deSelecionaGrid(this)")				e.Item.Style("cursor") = "hand" ' Cursor		End If	 End Sub

Mas só a função não basta é preciso chama-la, é onde todas as dicas em vários sites falharam, em nenhum lugar indicou que deveria chamar a função no DataGrid é só acrescentar o seguinte comando na linha do DataGrid

onItemCreated="MyDG_ItemCreated"
Ficando a linha do Datagrid como abaixo:

<asp:DataGrid id="MyDG" runat="server" onItemCreated="MyDG_ItemCreated" OnPageIndexChanged="MyDG_PageChanger" AllowPaging="True" Width="100%" PageSize="2" Font-Names="Verdana" Font-Size="XX-Small" AutoGenerateColumns="False" CellPadding="1" BorderWidth="1px" BorderStyle="Solid" OnSortCommand="MyDG_SortCommand" AllowSorting="True" BorderColor="LightGray">

Espero ajudar a outros com a complementação das dicas espalhadas pela net, e obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.