none
Javascript que mostra janela de confirmação antes de deletar linha do gridview RRS feed

  • Pergunta

  • Olá comunidade, Tenho um GridView, com um campo template, que exibe uma imagem que vai deletar determinada linha do gridview no click do mesmo através de um código no evento grid_feriado_RowCommand. Preciso exibir para o usuário uma janela javascript que pergunta se ele tem certeza se ele quer realmente deletar essa linha. A linha só é deletada quando o usuário confirmar com um OK. Como faço isso? Além disso, como faço para alterar a cor da linha do gridview quando o mouse passa por cima e voltar ao normal quando ele sai (mesmo em gridview com cores alternadas). Agradeço desde já pela atenção e fico no aguardo. Att.
    "Uma pessoa vale pelo que diz, diz pelo que pensa e pensa pelo que lê"
    terça-feira, 6 de abril de 2010 20:50

Respostas

  • Você precisaria adicionar esse código ao click (onclick ou OnClientClick):

     

    return Confirm('tem certeza de que deseja deletar esse item ?');

     

    Essa é a maneira mais simples.


    Henri Nusbaum - Itelios do Brasil Informática Ltda
    • Sugerido como Resposta Anderson Calixto terça-feira, 6 de abril de 2010 20:58
    • Marcado como Resposta Harley Araujo quinta-feira, 8 de abril de 2010 12:39
    terça-feira, 6 de abril de 2010 20:55
  • Olá Newton,

    Confirmação de exclusão:

    No evento RowDataBound do seu grid adicione esse trecho de código:

     if (e.Row.RowType == DataControlRowType.DataRow)
    
            {
    
                LinkButton MyButton = (LinkButton)e.Row.FindControl("cmdDelete");
    
                MyButton.Attributes.Add("onclick", "javascript:return " +
    
                "confirm('Confirma a exclusão do Produto nº " +
    
                DataBinder.Eval(e.Row.DataItem, "ProductID") + "?')");
    
            }

    Lembrando que o cmdDelete tem que ser um template linkbutton e precisa setar a propriedade AutoGeneratedColumns para False.

    Com isso conseguirá fazer o que precisa.

    Para alterar a cor da linha faça da seguinte maneira, isso no mesmo evento do gridview.

    e.row.Attributes.add("onMouseOver", "this.style.backgroundcolor='#ffff00'; this.style.cursor='hand'");
    e.row.Attributes.add("onMouseOut", "this.style.backgroundcolor='#ffffff'; this.style.cursor='hand'");

     

     

    Para maiores detalhes segue o link: http://www.israelaece.com/post/Explorando-o-GridView-Excluindo-Registros.aspx


    Abraço, Espero ter ajudado. Caso sim, marque-a como tal.
    • Sugerido como Resposta Iter Lubnon terça-feira, 6 de abril de 2010 22:10
    • Marcado como Resposta Harley Araujo quinta-feira, 8 de abril de 2010 12:39
    • Marcado como Resposta Harley Araujo quinta-feira, 8 de abril de 2010 12:39
    • Marcado como Resposta Harley Araujo quinta-feira, 8 de abril de 2010 12:40
    terça-feira, 6 de abril de 2010 22:09

Todas as Respostas

  • Você precisaria adicionar esse código ao click (onclick ou OnClientClick):

     

    return Confirm('tem certeza de que deseja deletar esse item ?');

     

    Essa é a maneira mais simples.


    Henri Nusbaum - Itelios do Brasil Informática Ltda
    • Sugerido como Resposta Anderson Calixto terça-feira, 6 de abril de 2010 20:58
    • Marcado como Resposta Harley Araujo quinta-feira, 8 de abril de 2010 12:39
    terça-feira, 6 de abril de 2010 20:55
  • Olá Newton,

    Confirmação de exclusão:

    No evento RowDataBound do seu grid adicione esse trecho de código:

     if (e.Row.RowType == DataControlRowType.DataRow)
    
            {
    
                LinkButton MyButton = (LinkButton)e.Row.FindControl("cmdDelete");
    
                MyButton.Attributes.Add("onclick", "javascript:return " +
    
                "confirm('Confirma a exclusão do Produto nº " +
    
                DataBinder.Eval(e.Row.DataItem, "ProductID") + "?')");
    
            }

    Lembrando que o cmdDelete tem que ser um template linkbutton e precisa setar a propriedade AutoGeneratedColumns para False.

    Com isso conseguirá fazer o que precisa.

    Para alterar a cor da linha faça da seguinte maneira, isso no mesmo evento do gridview.

    e.row.Attributes.add("onMouseOver", "this.style.backgroundcolor='#ffff00'; this.style.cursor='hand'");
    e.row.Attributes.add("onMouseOut", "this.style.backgroundcolor='#ffffff'; this.style.cursor='hand'");

     

     

    Para maiores detalhes segue o link: http://www.israelaece.com/post/Explorando-o-GridView-Excluindo-Registros.aspx


    Abraço, Espero ter ajudado. Caso sim, marque-a como tal.
    • Sugerido como Resposta Iter Lubnon terça-feira, 6 de abril de 2010 22:10
    • Marcado como Resposta Harley Araujo quinta-feira, 8 de abril de 2010 12:39
    • Marcado como Resposta Harley Araujo quinta-feira, 8 de abril de 2010 12:39
    • Marcado como Resposta Harley Araujo quinta-feira, 8 de abril de 2010 12:40
    terça-feira, 6 de abril de 2010 22:09
  •  

    Muito obrigado pela resposta Vinicius; realmente deu certo. Grande abraço.

     

    ps: mas a parte da cor da linha não deu certo. Será por que estou programando em vb.net?

     

     


    "Uma pessoa vale pelo que diz, diz pelo que pensa e pensa pelo que lê"
    quinta-feira, 24 de junho de 2010 19:55