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 :

[VB.Net] datagrid et imagebutton


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 47
    Par défaut [VB.Net] datagrid et imagebutton
    Pouvez-vous m'aider ? J'ai un DataGrid où j'ai rajouté une colonne avec une image button mais je n'arrive pas a utiliser la commande ITEM.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <asp:DataGrid id=DataGrid1...>
    <Columns>
    <asp:ButtonColumn Text="Bouton" CommandName="select"></asp:ButtonColumn>
      <asp:TemplateColumn>
        <ItemTemplate>
          <asp:ImageButton id="Supprime" runat="server" Width="12px" ImageUrl="images/coco.gif" 
              Height="12px" ImageAlign="Middle" CommandName="Item"></asp:ImageButton>
        </ItemTemplate>
      </asp:TemplateColumn>
    </Columns>
    en code-Behind:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
      If e.CommandName = "select" Then
          ....
      elseif e.CommandName = "item" then
          ....
      End If
    End Sub
    Lorsque je clique sur le bouton "supprime", il n'y a aucun événement qui se passe. J'ai testé le e.CommandName sur "ButtonColumn" ca me donne bien select mais sur "supprime" rien du tout.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    il y a une subtilité
    pour les imagebutton asp.net ne passe jamais par itemcomman.
    il faut mettre une fonction dans l'évènement "OnCommand" (ne pas oublier commandname auusi) et mettre la fonction correspondante dans le cs.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 47
    Par défaut <vb.net>datagrid et imagebutton
    Peux-tu être plus explicite ? J'ai essayé mais je n'y arrive pas.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut exemple
    exemple :

    Définition de la dgGrid, dans la code ASPX
    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
    17
    18
    19
    20
    21
    <asp:datagrid>
    <Columns>
    <asp:TemplateColumn runat="server">
             <ItemTemplate runat="server">
                      <asp:ImageButton 
                               runat="server" 
                              Width=15 
                              Height=15 
                              Enabled=true 
                              OnCommand="RapportBloqueMail" 
                              ImageUrl ='monImage.jpg' 
                              ID="Imagebutton1" 
                              CausesValidation="True" 
                              CommandName="maCommande" 
                              CommandArgument='<%# DataBinder.Eval(Container, "DataItem.rapport_id") %>'
                      >
                      </asp:ImageButton>
             </ItemTemplate>
    <asp:TemplateColumn>
    </Columns>
    </asp:datagrid>


    Dans le code C# associé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public void RapportBloqueMail(object monObjetc, System.Web.UI.WebControls.CommandEventArgs arg)
      {
         if (arg.CommandName=="maCommande") //facultatif je pense
        {
         long idRapport=System.Convert.ToInt64( arg.CommandArgument );
         Rapport monRapport = new Rapport(idRapport,false);
         monRapport.MailBloqué=!monRapport.MailBloqué;
         monRapport.Save();
        }
      }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 47
    Par défaut <vb.net>datagrid et imagebutton
    Merci c'etait tres explicite !!!!!!!!!!!!!!

    Ca marche tres bien

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 47
    Par défaut <vb.net>datagrid et imagebutton
    J'ai trouvée une autre Solution pour ceux qui aime bien utiliser les commandes pré-établie :

    Creer une colonne LinkButton1 et modifier le text pour avoir que l'image
    <asp:TemplateColumn>
    <ItemTemplate> <asp:LinkButton id="LinkButton1" runat="server" CausesValidation="false" CommandName="Select" Text="<img border=0 src=images/voir.png alt=select Height=25px Width=25px >"></asp:LinkButton> </ItemTemplate> </asp:TemplateColumn>

    ou utiliser Imagebutton

    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:ImageButton id=Imagebutton4 runat="server" Height="15" Width="15" ImageUrl="images\img.gif" OnCommand="delete" ImageAlign="Middle" CausesValidation="True" CommandName="maCommande" CommandArgument='<%# DataBinder.Eval(Container, "DataItem.message2") %>' Enabled="true"> </asp:ImageButton> </ItemTemplate> </asp:TemplateColumn>


    et programmer derriere (vb.net) une fonction public




    Public Sub delete(ByVal monobject As System.Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)

    Bon courage et faite de beau datagrid

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

Discussions similaires

  1. [VB.NET]datagrid imagebutton
    Par wilaya dans le forum ASP.NET
    Réponses: 5
    Dernier message: 24/06/2005, 11h39
  2. [VB.NET] Clic sur ImageButton utilisé dans datagrid
    Par viva-emptiness dans le forum ASP.NET
    Réponses: 6
    Dernier message: 15/06/2005, 00h14
  3. [VB.NET] Datagrid + CheckBox : Cocher toutes les cases
    Par sirex007 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 24/05/2004, 15h33
  4. [VB.NET] Datagrid - Récupérer CheckBox cochées
    Par nmerydem dans le forum ASP.NET
    Réponses: 16
    Dernier message: 18/05/2004, 13h28
  5. [VB.NET] Datagrid dans tabstrip : bug ?
    Par necro dans le forum ASP.NET
    Réponses: 13
    Dernier message: 23/02/2004, 10h23

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