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 :

Image in Gridview


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut Image in Gridview
    Bonjour,
    je veux insérer une image dans un Gridview avec c#, voici le code que j'ai utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
       Image image = new Image();
                image.ImageUrl = "~/Images/routeur.png";
     
                DataTable dtImg = new DataTable("TableImg");
                DataColumn imgCl = new DataColumn("image1", typeof(Image));
                dtImg.Columns.Add(imgCl);
                DataRow drImg = dtImg.NewRow();
                drImg["image1"] = image;
                dtImg.Rows.Add(drImg["image1"]);
     
                GridView2.DataSource = dtImg.DefaultView;
                GridView2.DataBind();
    à la ligne GridView2.DataBind(); il s'affiche ce message d'erreur :
    La source de données de GridView avec l'ID 'GridView2' ne possédait pas de propriétés ou d'attributs permettant de générer des colonnes. Vérifiez que votre source de données a un contenu.
    un peu d'explication s'il vous plait

    Merci

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    Il faut pour que ça marche :

    1. Créer un DataTable
    2. Ajouter une colonne a ce DataTable
    3. Créer une ligne
    4. ajouter l'url de la photo a cette ligne
    5. Ajouter la ligne au DataTable
    6. et Enfin ajouter ce DataTable au GridView


    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
     
    protected void Page_Load(object sender, EventArgs e)
        {
            Page.DataBind();
        }
        public DataTable ImgData()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("image",typeof(string)));
            DataRow dr = dt.NewRow();
     
            dr["image"] = ResolveUrl("~/nomImage.png");
     
            dt.Rows.Add(dr);
            return dt;
     
     
        }
    Je créer une méthode qui me retourne un DataTable rempli de mes images.

    Dans le load, je lie la source de données au contrôle

    Et enfin dans la page aspx j'affecte le binding au GridView et créer une colonne ImageField

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <asp:GridView ID="gridView2" DataSource='<%# ImgData() %>' runat="server">
            <Columns>
                <asp:ImageField DataImageUrlField="image">
                </asp:ImageField>
            </Columns>
        </asp:GridView>

  3. #3
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 71
    Par défaut
    Salut,

    Je pense que cet article est un bon point de départ
    http://www.code-magazine.com/Article...uickid=0707061

    Je pense que tu veux afficher l'image dans la cellule de la grille.

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut
    Citation Envoyé par benny-blanco Voir le message
    Il faut pour que ça marche :

    1. Créer un DataTable
    2. Ajouter une colonne a ce DataTable
    3. Créer une ligne
    4. ajouter l'url de la photo a cette ligne
    5. Ajouter la ligne au DataTable
    6. et Enfin ajouter ce DataTable au GridView


    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
     
    protected void Page_Load(object sender, EventArgs e)
        {
            Page.DataBind();
        }
        public DataTable ImgData()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("image",typeof(string)));
            DataRow dr = dt.NewRow();
     
            dr["image"] = ResolveUrl("~/nomImage.png");
     
            dt.Rows.Add(dr);
            return dt;
     
     
        }
    Je créer une méthode qui me retourne un DataTable rempli de mes images.

    Dans le load, je lie la source de données au contrôle

    Et enfin dans la page aspx j'affecte le binding au GridView et créer une colonne ImageField

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <asp:GridView ID="gridView2" DataSource='<%# ImgData() %>' runat="server">
            <Columns>
                <asp:ImageField DataImageUrlField="image">
                </asp:ImageField>
            </Columns>
        </asp:GridView>

    Merci pour ta réponse, mais le résultat affiche 2 colonnes: la première contient l'image et la deuxième contient l'url de cette image. ce qui me concerne que l'image.
    comment puis je afficher que l'image sans son url???

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    Il faut pour cela ajouter dans la propriété du GridView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <asp:GridView ID="gridView2" DataSource='<%# ImgData() %>' runat="server" AutoGenerateColumns = false; >

  6. #6
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut
    Citation Envoyé par benny-blanco Voir le message
    Il faut pour cela ajouter dans la propriété du GridView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <asp:GridView ID="gridView2" DataSource='<%# ImgData() %>' runat="server" AutoGenerateColumns = false; >
    Même si je l'ai ajouté rien n'est changé, il s'affiche toujours l'image son url

  7. #7
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    C'est bizarre je viens de le faire chez moi et la colonne avec l'URL n'ai pas visible.

    As tu bien ceux-ci dans ta page aspx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
       <asp:GridView ID="GridView2" runat="server" DataSource='<%# ImgData() %>' AutoGenerateColumns="false">
            <Columns>
                <asp:ImageField DataImageUrlField="image">
                </asp:ImageField>
            </Columns>
        </asp:GridView>

  8. #8
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut
    oui oui c bon ça marche.
    merci énormément
    juste je veux savoir est ce que je peux changer le width et height de l'image dans le code??
    en faite moi j'utilise ce tableau dans une boucle, selon les conditions les images changent, et je veux afficher chaque image avec une dimension différente.

  9. #9
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Par défaut
    Si plusieurs image sont afficher dans la colonne alors la colonne vas automatiquement s'adapter a l'image la plus grande.

    Mais tes image aurons des taille différentes.

    De plus si tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            this.GridView2.Columns[0].ItemStyle.Width = 500;
    Seul ta colonne sera modifier et non les images.

  10. #10
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut
    ok merci, je vais la tester

Discussions similaires

  1. Lier des images avec Gridview
    Par RIQUET02 dans le forum Android
    Réponses: 0
    Dernier message: 14/02/2015, 17h28
  2. Probléme d'affichage une image dans GridView
    Par MarwaDev dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/01/2013, 10h47
  3. Charger données type IMAGE dans GRIDVIEW
    Par mouadmagan dans le forum ASP.NET
    Réponses: 9
    Dernier message: 29/06/2011, 14h55
  4. Image et GridView
    Par PatStan17 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/02/2011, 08h11
  5. Lien Image dans GridView
    Par kroukse dans le forum Débuter
    Réponses: 2
    Dernier message: 05/01/2010, 15h30

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