IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

asp.net vb.net javascript message de confirmation avant suppression dans un gridview


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 337
    Points : 120
    Points
    120
    Par défaut asp.net vb.net javascript message de confirmation avant suppression dans un gridview
    Bonjour,
    Je veux supprimer une ligne de mon gridview après confirmation. voilà le principe:
    j'ai un gridview avec une colonne contenant le bouton de suppression comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <asp:GridView ID="gv_type" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" PageSize="9" Width="100%" DataSourceID="sds_type" ShowHeader="false" DataKeyNames="Id">
            <Columns>
                <asp:BoundField DataField="Valeur" HeaderText="Type" SortExpression="Valeur" ReadOnly="True" ItemStyle-Width="75%"/>
                <asp:ButtonField ButtonType="Image" CommandName="Modifier" ImageUrl="~/Images/bt_vue.png" ItemStyle-CssClass="DataGridModifier" ItemStyle-HorizontalAlign="Center"/>
                <asp:ButtonField ButtonType="Image" CommandName="Supprimer" ImageUrl="~/Images/bt_delete.png" ItemStyle-HorizontalAlign="Center"/>
            </Columns>
        </asp:GridView>                                       
            <asp:SqlDataSource
                ID="sds_type"
                runat="server"
                ConnectionString="<%$ ConnectionStrings:LGHI %>"
                SelectCommand="SELECT * FROM p_type_vehicule">
        </asp:SqlDataSource>
    Dans le code behind, pour supprimer une ligne je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub gv_type_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles gv_type.RowCommand
            On Error Resume Next
            Dim Idx As Integer = Convert.ToInt32(e.CommandArgument)
            clef_primaire.Value = gv_type.DataKeys(Idx)("Id")
     
            Select Case e.CommandName
                Case "Modifier"
                    Session("Demarrage") = False
                    Page.ClientScript.RegisterClientScriptBlock([GetType], "popup depuis le codehind", String.Format("window.open('{0}','_blank','width={1},height={2},top={3},left={4}')", "p_donnee_base_maj.aspx?param1=p_type_vehicule&param2=false&param3=" & clef_primaire.Value, 700, 400, 60, 20), True)
                Case "Supprimer"
                    ClientScript.RegisterStartupScript([GetType](), "Suppression", "<script> if (confirm ('Confirmez-vous la suppression?')) window.open('a_page_suppression.aspx?param1=p_type_vehicule&param2=" & clef_primaire.Value & "&param4=Id', '_newtab') </script>")
                    ActualiserTypeVehicule()
                Case Else
                    ActualiserTypeVehicule()
            End Select
        End Sub
    J'appelle donc une webform ["a_page_suppression.aspx?param1=p_type_vehicule&param2=" & clef_primaire.Value & "&param4=Id'] dans laquelle je lance la procédure de suppression. Je referme automatiquement aussitôt la webform de suppression après suppression.
    Je trouve cette méthode quelque peu fastidieuse.
    N'est-il pas possible de mettre à la place de la webform de suppression une procédure de suppression "SupprimerEnregistrementDansGridView"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub SupprimerEnregistrementDansGridView
            Try
                SqlConn.Open()
                Dim myCommand As New SqlCommand
                myCommand.Connection = SqlConn
                myCommand.CommandText = "delete from p_type_vehicule where (Id=@Idx)"
                myCommand.Parameters.Add(New SqlParameter("@Idx", clef_primaire.Value))
     
                myCommand.ExecuteNonQuery()
                SqlConn.Close()
                myCommand = Nothing
            Catch
                ClientScript.RegisterStartupScript([GetType](), "alert", "<script language=JavaScript>alert('< " & Err.Number & " - " & Replace(Err.Description, "'", " ") & " >');</script>")
            End Try
        End Sub
    Si je peux avoir un tuyau sur le code javascript dans la gridview. Je plante complètement.

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 337
    Points : 120
    Points
    120
    Par défaut
    Il suffit seulement d'utiliser des itemtemplates pour les boutons dans le gridview

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASP.NET][C#2] Ajout d'un dropdownlist dans un gridview
    Par Mouns007 dans le forum ASP.NET
    Réponses: 20
    Dernier message: 11/05/2009, 12h32
  2. Réponses: 2
    Dernier message: 09/07/2008, 14h53
  3. confirmation avant suppression dans un gridView
    Par giannichedda dans le forum ASP.NET
    Réponses: 1
    Dernier message: 27/07/2007, 08h28
  4. Afficher un message de confirmation avant suppression des messages
    Par JackBeauregard dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 18/08/2006, 13h17
  5. Réponses: 2
    Dernier message: 03/08/2004, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo