Usuário com melhor resposta
Confirmação ao deletar do gridview!

Pergunta
-
Não estou conseguindo colocar uma confirmação ao clicar no botão de excluir do Gridview.No HTML:
<asp:GridView ID="grdCadastro" runat="server" AllowSorting="True" HorizontalAlign="Center" BorderStyle="None" CellPadding="10" GridLines="Horizontal" OnRowDataBound="grdCadastro_RowDataBound" OnRowCommand="grdCadastro_RowCommand" onrowdeleting="grdCadastro_RowDeleting"> <RowStyle BorderStyle="None" CssClass="botaogrid" /> <Columns> <asp:ButtonField CommandName="Alterar" ControlStyle-CssClass="botaogrid" ImageUrl="~/images/lista-seletor.png" ControlStyle-BorderStyle="None" ShowHeader="false" ButtonType="Image" Visible="true" /> <asp:ButtonField CommandName="Delete" ControlStyle-CssClass="botaogrid" ImageUrl="~/images/excluir.png" ControlStyle-BorderStyle="None" ShowHeader="false" ButtonType="Image" Visible="true" /> </Columns> <HeaderStyle BackColor="#003555" CssClass="uc" ForeColor="White" Height="43px" HorizontalAlign="Left" BorderStyle="None" /> <AlternatingRowStyle BackColor="#F2F2F2" BorderStyle="None" CssClass="botaogrid" /> </asp:GridView>
No Code-behind:protected void grdCadastro_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) ((ImageButton)e.Row.Cells[1].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('Confirma a exclusão do registro?');"); } protected void grdCadastro_RowCommand(object sender, GridViewCommandEventArgs e) { int index = Convert.ToInt32(e.CommandArgument); if (e.CommandName == "Alterar") { //... } } protected void grdCadastro_RowDeleting(object sender, GridViewDeleteEventArgs e) { int index = Convert.ToInt32(e.RowIndex); //... }
E após clicar 'OK' no alert, ele não passa no RowDeleting!!!Mas se eu tirar a confirmação do RowDataBound, o RowDeleting funciona direitinho!!!Não sei mais o que fazer... já tentei transformar o ButtonField em Template e continuou não funcionando.Alguma idéia?
Gennari
Respostas
-
Israel,Eu já tinha tentado transformar em TemplateField e não deu certo...Mas enfim, achei a resposta neste post:O problema estava na forma com criei o javascript!!!Ao invés de:
"javascript:return confirm('Confirma a exclusão do registro?');"
Tem que ser:"javascript:if (!confirm('Confirma a exclusão do registro?')) return false;"
Gennari- Marcado como Resposta Paulo Gennari quarta-feira, 15 de julho de 2009 12:51
Todas as Respostas
-
Ola Paulo!Pra vc exibir a mensagem de confirmação, basta vc colocar o javascript na propriedade OnClientClick.Exemplo:Utilize um <asp:TemplateField> com um button ou imagebutton
<asp:Button CommandName="Delete" OnClientClick="return confirm('Confirma a exclusão desse registro ?');" />
Apenas isso....abraçow
Att,
Israel Gonçalves “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.- Editado Israel Gonçalves terça-feira, 14 de julho de 2009 12:56 alteração do tipo de botão
- Sugerido como Resposta Israel Gonçalves terça-feira, 14 de julho de 2009 15:55
-
Israel,Eu já tinha tentado transformar em TemplateField e não deu certo...Mas enfim, achei a resposta neste post:O problema estava na forma com criei o javascript!!!Ao invés de:
"javascript:return confirm('Confirma a exclusão do registro?');"
Tem que ser:"javascript:if (!confirm('Confirma a exclusão do registro?')) return false;"
Gennari- Marcado como Resposta Paulo Gennari quarta-feira, 15 de julho de 2009 12:51
-
Eu utilizei o AJAX e funcionou, tentei muuito somente jscript e nao funcionou.
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:ImageButton ID="grdIBtnExcluir" runat="server" CausesValidation="False"
CommandName="Delete" ImageUrl="~/imagens/icones/Excluir.gif" />
<cc1:ConfirmButtonExtender ID="grdIBtnExcluir_ConfirmButtonExtender"
runat="server" ConfirmText="Confirma a excluso do registro?" TargetControlID="grdIBtnExcluir">
</cc1:ConfirmButtonExtender>
</ItemTemplate>
<ItemStyle Width="16px" />
</asp:TemplateField>
Vinicius Pereira Torres