none
message de confirmation javascript avec Datagrid en asp.net + vb.net RRS feed

  • Question

  • voilà le code j'ai utilisé

     

    Sub GridView1_ItemCreated(ByVal Sender As Object, ByVal e As DataGridItemEventArgs)

     

    Select Case e.Item.ItemType

     

    Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem, ListItemType.SelectedItem

     

    Dim myTableCell As TableCell

    myTableCell = e.Item.Cells(10)

     

    Dim myDeleteButton As ImageButton = GridView1.FindControl(10)

    myDeleteButton = myTableCell.Controls(0)

    myDeleteButton.Attributes.Add(

    "onclick", "return confirm('Etes vous sur de vouloir valider?');")

     

    End Select
     

     

    End Sub

    'mais rien ne s'affiche

    mardi 7 juin 2011 08:53

Réponses

  • Bonjour,

    quand vous dites que rien ne s'affiche vous voulez dire que le message de confirmation javascript ne s'affiche pas ? la grille elle est bien alimentée ?

    Vous n'avez pas fourni le code aspx concerné ce qui rend plus difficile l'identification de votre problème.

    Une façon simple d'ajouter du code javascript est d'utiliser l'event OnClientClick de votre image bouton

    <ItemTemplate>
         <asp:ImageButton ID="btnDelete" Text="Delete" runat="server" OnClientClick='return confirm("Etes vous sûr de vouloir supprimer cet enregistrement ?");'/>
    </ItemTemplate>
    

     

    Néanmoins si vous voulez ajouter le script en code behind vous pouvez vous basez sur l'exemple suivant.

    Dans le code aspx, un image bouton dont on fixe son ID ( btnDelete )

    <asp:DataGrid runat="server" ID="dgGrid" AutoGenerateColumns="false">
     <Columns>
      <asp:TemplateColumn>
      <ItemTemplate>
       <asp:ImageButton ID="btnDelete" Text="Delete" runat="server" />
      </ItemTemplate>
      </asp:TemplateColumn>
      <asp:BoundColumn DataField="Champ1"></asp:BoundColumn>
     </Columns>
    </asp:DataGrid>
    
    

    Vous pouvez alors utilisé directement la méthode FindControl sur l'argument de l'event ItemCreated, pour obtenir une référence sur l'image bouton

    Protected Sub dgGrid_ItemCreated(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgGrid.ItemCreated
    
      Select Case e.Item.ItemType
    
        Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem, ListItemType.SelectedItem
          Dim btn As ImageButton = e.Item.FindControl("btnDelete")
          btn.Attributes.Add("onclick", "return confirm('Etes vous sur de vouloir valider?');")
    
      End Select
    
    End Sub
    
    
    Cordialement

     

     

     

    mercredi 8 juin 2011 08:54
    Modérateur
  • Bonjour,

    enfaite le probleme c'est que moi j'ai utilisé GRidvieuw alors dans ce controle il n'ya pas une possibilte

    d'utiliser un message javascript dans le Commandfiled(type image) il faut la referencier et c'est pas du

    tout delicat en plus L'evenement DataRowBaound et ItemCreated n'esxiste que dans le Datagrid

    alors  j'ai changeé mon gridvieuw en <asp:Datagrid > </asp:Datagrid> ce dernier il contient

    l'evenement CreateItem comme suit:

     

    Sub DataGrid_ItemCreated(ByVal Sender As Object, ByVal e As
    DataGridItemEventArgs)
    Try
    Select Case
    e.Item.ItemType
    Case
    ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem

    Dim myTableCell As
    TableCell
    myTableCell = e.Item.Cells(6)

    Dim myDeleteButton As
    LinkButton

    myDeleteButton = myTableCell.Controls(0)

    myDeleteButton.Attributes.Add("onclick", "return confirm('Etes vous sur de vouloir valider ce congé?');")


    Catch ex As
    Exception

    ' Response.Write(ex.Message)


    End Try

    End Sub
    ça marchait parfaitement


    mais Si tu veux faire le code en C# tu trouvras la sultion ici :

    http://translate.googleusercontent.com/translate_c?hl=fr&prev=/search%3Fq%3Dmessage%2Bde%2Bconfirmation%2Ben%2Bjavascript%2Bcommandfield%2Bsur%2Bgridview%26hl%3Dfr%26sa%3DX%26biw%3D1259%26bih%3D839%26prmd%3Divns&rurl=translate.google.co.ma&sl=en&u=http://www.vbforums.com/showthread.php%3Ft%3D593424&usg=ALkJrhg-UfZOGN8deBOKubEP-H77_iVpfQ

      Si vous avez des remarques vous me les envoyer.

     
     

     

    vendredi 10 juin 2011 09:24

Toutes les réponses

  • Bonjour,

    quand vous dites que rien ne s'affiche vous voulez dire que le message de confirmation javascript ne s'affiche pas ? la grille elle est bien alimentée ?

    Vous n'avez pas fourni le code aspx concerné ce qui rend plus difficile l'identification de votre problème.

    Une façon simple d'ajouter du code javascript est d'utiliser l'event OnClientClick de votre image bouton

    <ItemTemplate>
         <asp:ImageButton ID="btnDelete" Text="Delete" runat="server" OnClientClick='return confirm("Etes vous sûr de vouloir supprimer cet enregistrement ?");'/>
    </ItemTemplate>
    

     

    Néanmoins si vous voulez ajouter le script en code behind vous pouvez vous basez sur l'exemple suivant.

    Dans le code aspx, un image bouton dont on fixe son ID ( btnDelete )

    <asp:DataGrid runat="server" ID="dgGrid" AutoGenerateColumns="false">
     <Columns>
      <asp:TemplateColumn>
      <ItemTemplate>
       <asp:ImageButton ID="btnDelete" Text="Delete" runat="server" />
      </ItemTemplate>
      </asp:TemplateColumn>
      <asp:BoundColumn DataField="Champ1"></asp:BoundColumn>
     </Columns>
    </asp:DataGrid>
    
    

    Vous pouvez alors utilisé directement la méthode FindControl sur l'argument de l'event ItemCreated, pour obtenir une référence sur l'image bouton

    Protected Sub dgGrid_ItemCreated(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgGrid.ItemCreated
    
      Select Case e.Item.ItemType
    
        Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem, ListItemType.SelectedItem
          Dim btn As ImageButton = e.Item.FindControl("btnDelete")
          btn.Attributes.Add("onclick", "return confirm('Etes vous sur de vouloir valider?');")
    
      End Select
    
    End Sub
    
    
    Cordialement

     

     

     

    mercredi 8 juin 2011 08:54
    Modérateur
  • Bonjour,

    Merci pour votre message ,bon meme si je fais  le code

     

    Protected Sub dgGrid_ItemCreated(sender As Object, e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgGrid.ItemCreated

      Select Case e.Item.ItemType

        Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem, ListItemType.SelectedItem
          Dim btn As ImageButton = e.Item.FindControl("btnDelete")
          btn.Attributes.Add("onclick", "return confirm('Etes vous sur de vouloir valider?');")

      End Select

    End Sub

     

    ne marche pas en plus il mle souligne une erreur : l'evenment  itemCreatead est introuvable ça d'une part ,d'autre part moi j'ai
    pas un button j'ai une commandfiel qui contien une image pour la selection


    voila le code de mon gridvieuw

     

    <

    asp:GridView ID="GridView1" runat="server" AllowPaging="True"

     

    AutoGenerateColumns="False" CellPadding="4" DataKeyNames="id_conge"

     

    ForeColor="#333333" GridLines="None" Height="102px" Width="679px">
     

     

    <AlternatingRowStyle BackColor="White" />
     

     

    <Columns>
     

     

    <asp:ButtonField ButtonType="Image" HeaderText="Imp"

     

    ImageUrl="~/image/imprimante.gif" Text="Bouton" />
     

     

    <asp:BoundField DataField="id_conge" HeaderText="Nø cong‚" ReadOnly="True" />

     

    <asp:BoundField DataField="matricule" HeaderText="Matricule" ReadOnly="True" />

     

    <asp:BoundField DataField="Nom" HeaderText="Nom " ReadOnly="True" />

     

    <asp:BoundField DataField="Pr‚nom" HeaderText="Pr‚nom" ReadOnly="True" />

     

    <asp:BoundField DataField="Date Demande" HeaderText="D. Demande" />

     

    <asp:BoundField DataField="Date d‚part" HeaderText="D.d‚part" />

     

    <asp:BoundField DataField="Date retour" HeaderText="D. retour" />

     

    <asp:BoundField DataField="duree" HeaderText="Duree" SortExpression="duree" />

     

    <asp:BoundField DataField="Date validation" HeaderText="D. validation"

     

    ReadOnly="True" SortExpression="date_validation" />

     

    <asp:CommandField EditImageUrl="~/image/valide.gif"

     

    HeaderText="Valid" InsertImageUrl="~/image/valide.gif"

     

    SelectImageUrl="~/image/valide.gif" ShowSelectButton="True"

     

    UpdateText="validation" ButtonType="Image" />

     

    <asp:CommandField ButtonType="Image" CancelImageUrl="~/image/stop.gif"

     

    EditImageUrl="~/image/update.gif" HeaderText="Mi…J"

     

    SelectImageUrl="~/image/update.gif" ShowEditButton="True" ShowHeader="True"

     

    UpdateImageUrl="~/image/update.gif" />

     

    <asp:CommandField ButtonType="Image" DeleteImageUrl="~/image/delete.gif"

     

    HeaderText="Supp" ShowDeleteButton="True" ShowHeader="True" />

     

    </Columns>

     

    <EditRowStyle Font-Size="Smaller" />

     

    <FooterStyle BackColor="#E12D00" Font-Bold="True" ForeColor="White" />

     

    <HeaderStyle BackColor="#F20000" BorderStyle="None" Font-Bold="False"

     

    Font-Size="Smaller" ForeColor="White" />

     

    <PagerSettings FirstPageText="" />

     

    <PagerStyle BackColor="#FFFFCC" ForeColor="Black" HorizontalAlign="Right" />

     

    <RowStyle BackColor="#FFFFCC" Font-Size="Smaller" ForeColor="#003366" />

     

    <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />

     

    </asp:GridView>

     



     

    jeudi 9 juin 2011 10:59
  • merci mon frere j'ai trouvé la solution

     

    merci 100000 fois

     

    jeudi 9 juin 2011 16:11
  • Bonjour,

    Pouvez-vous svp nous préciser plus des détails sur la solution, afin que d'autres personnes avec le même problème puissent profiter de cette solution. Merci d’avance !

     

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    vendredi 10 juin 2011 06:56
  • Bonjour,

    enfaite le probleme c'est que moi j'ai utilisé GRidvieuw alors dans ce controle il n'ya pas une possibilte

    d'utiliser un message javascript dans le Commandfiled(type image) il faut la referencier et c'est pas du

    tout delicat en plus L'evenement DataRowBaound et ItemCreated n'esxiste que dans le Datagrid

    alors  j'ai changeé mon gridvieuw en <asp:Datagrid > </asp:Datagrid> ce dernier il contient

    l'evenement CreateItem comme suit:

     

    Sub DataGrid_ItemCreated(ByVal Sender As Object, ByVal e As
    DataGridItemEventArgs)
    Try
    Select Case
    e.Item.ItemType
    Case
    ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem

    Dim myTableCell As
    TableCell
    myTableCell = e.Item.Cells(6)

    Dim myDeleteButton As
    LinkButton

    myDeleteButton = myTableCell.Controls(0)

    myDeleteButton.Attributes.Add("onclick", "return confirm('Etes vous sur de vouloir valider ce congé?');")


    Catch ex As
    Exception

    ' Response.Write(ex.Message)


    End Try

    End Sub
    ça marchait parfaitement


    mais Si tu veux faire le code en C# tu trouvras la sultion ici :

    http://translate.googleusercontent.com/translate_c?hl=fr&prev=/search%3Fq%3Dmessage%2Bde%2Bconfirmation%2Ben%2Bjavascript%2Bcommandfield%2Bsur%2Bgridview%26hl%3Dfr%26sa%3DX%26biw%3D1259%26bih%3D839%26prmd%3Divns&rurl=translate.google.co.ma&sl=en&u=http://www.vbforums.com/showthread.php%3Ft%3D593424&usg=ALkJrhg-UfZOGN8deBOKubEP-H77_iVpfQ

      Si vous avez des remarques vous me les envoyer.

     
     

     

    vendredi 10 juin 2011 09:24
  • Bonjour,

     

    Merci pour tenir la communauté informée sur la suite de vos démarches.

     

    Bonne journée,

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    vendredi 10 juin 2011 11:10
  • Bonjour,

    j'ai une autre question à vous posé e veux utiliser u  Modalpopup voilà mon code

     

    <asp:Button ID="Button1" runat="server" Text="First Modal Popup" />

     

    <asp:ScriptManager ID="ScriptManager1" runat="server">
     

     

    </asp:ScriptManager>
     

     

    <

    ajaxToolkit:

    ModalPopupExtender

    BackgroundCssClass

    ="modalBackground"

    DropShadow

    ="true"

    OkControlID

    ="btnOk"

    CancelControlID

    ="btnClose"

    runat

    ="server"

    PopupControlID

    ="Panel1"

    id

    ="ModalPopupExtender1"

    TargetControlID

    ="Button1" />

     

     

     

    <asp:Panel ID="Panel1" runat="server" style="display:none;"> This is basic modal popup.

     

    <

    asp:Button ID="btnOk" runat="server" Text="Ok" />

    <

    asp:Button ID="btnClose" runat="server" Text="Close Me" />

    </

    asp:Panel>   Rien ne s'affiche ????????????????

     

    Merci d'avance

     

     

    vendredi 10 juin 2011 14:40