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

C# Discussion :

affichage dans une DataGridView apartir d'un objet


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Par défaut affichage dans une DataGridView apartir d'un objet
    Salut tout le monde,

    Je viens juste commencer avec c#
    J'ai crée un objet qui s'appel "PartenaireOV".
    Cet objet contient des champs(ID_PArt, Nom_Part....)

    Mon but est d'afficher cet objet dans une DataGridView
    tel que chaque colone contient un champ de mon objet

    Votre aide sera trés utile pour l'avancement de mon projet

    Merci

  2. #2
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Par défaut DataGridView n'apparait pas lors de l'affichage
    Salut tout le monde,

    je viens juste de commencer avec c#,
    j'ai crée un objet PartenaireOV qui contient les champs(ID_Part,NomPart..)
    et je veux afficher ces données dans une DataGridView :

    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
    22
    protected void Button1_Click(object sender, EventArgs e)
        {
                PartenaireOv[] Part;
                Part = new PartenaireOV[SPart.RechServPart().Length];
     
              ///affichage dans la grille            
    for (int i = 0; i < SPart.RechServPart().Length; i++)
                {
                    Part[i] = SPart.RechServPart()[i];
     
                    GridView1.DataSource = Part[i];
     
                    BoundField maColonne;
                    maColonne = new BoundField();
                    maColonne.HeaderText = "Colonne de test";
                    maColonne.DataField ="sami";
     
                    GridView1.Columns.Add(maColonne);
     
                    GridView1.DataBind();
                }
               }
    Ce morceau de code compile correctement mais rien n'est afficher sur l'ecran
    PS: J'ai definit ma DataGridView avec ASP.NET

    Merci d'avance pour votre aide

  3. #3
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Par défaut
    Salut tout le monde,

    si qq peut m'aider avec un morceau de code ou une idée simple
    ca sera trés utile pour l'avancement de mon stage car ça fait longtemp
    que je suis bloqué.

    Merci d'avance

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Google est ton ami

    http://www.c-sharpcorner.com/UploadF...ndObjects.aspx

    Tu dois mettre ta collection d'objet en datasource de ton DGV

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 29
    Par défaut
    Bonjour,

    Affin de pouvoir t'aider il me faudrait plus d'information concernant ton .ASCX cependant je pense que tu devrais regarder dans ce dernier si ton Grid comporte bien l'attribut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <asp:grid ...... runat="server" />
    En effet si cet attribut n'est pas présent cela explique que ton Grid ne s'affiche pas.

    Si ce n'est pas le cas aportes nous plus d'information comme par exemple:
    • Un peu plus de code .CS
    • Un extrait de ton code .ASCX
    • ...

  6. #6
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Par défaut
    Merci Kaiko pour ta reponse,
    mon code contient bien : <asp:grid ...... runat="server" />

    voici un morceau de code qui contient la definition de DGV:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    </fieldset>
    <fieldset style="height: 131px">
    <legend><b>Résultat de la Recherche</b></legend>
        <asp:GridView ID="GridView1" runat="server" Height="98px" Width="185px">
        </asp:GridView>
    </fieldset>
    la partie c# qui contient DGV je la deja ecrite . MAIS ça ne fonctionne encore pas.

    Votre aide sera trés utile car ça fait un bout de temps que je suis bloqué. Merci

  7. #7
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Par défaut
    Merci olibara pour votre reponse,

    le lien que vous m'avez donné est excellent, son probleme qu'il est se base sur les "Forms".
    j'ai pus ecrire un morceau de code :

    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 Button1_Click(object sender, EventArgs e)
        {
    PartenaireOV[] Part=null; // l'objet que je vien de construire        
        Part = new PartenaireOV[SPart.RechServPart().Length];
                for (int i = 0; i < SPart.RechServPart().Length; i++)
                {
                    Part[i] = SPart.RechServPart()[i];   
     
                    GridView1.DataSource=Part;
                    BoundField maColonne;
                    maColonne = new BoundField();
                    maColonne.HeaderText = "Colonne de test";
                    maColonne.DataField ="sami";
     
                    GridView1.Columns.Add(maColonne);
                    GridView1.DataBind(); 
                }
              }
    Mon probleme que rien n'est affiché dans ma page web. je ne vois pas ou sa bloque ???

    votre aide sera trés utile. MERCI encore une autre fois

  8. #8
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    A premiere vue il y a déja un truc vraiment pas net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (int i = 0; i < SPart.RechServPart().Length; i++)
    {
    Part[i] = SPart.RechServPart()[i]; 
     
    GridView1.DataSource=Part;
    BoundField maColonne;
    Tu reassigne ta datasource a chaque i

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridView1.DataSource=Part;
    Alors que Part DOIT et semble etre une collection definie extérieurement a ta boucle
    D'autre part DataGridView et GridView sont des classe différentes GridView etant obsolete
    Donc si tu joue avec un DataGridView c'est pas tres pertinent (et plutot confusionnant) d'appeller ton objet GridView1

    D'ailleurs il faut bannir les Form1, form2, WindowsApplication1 et tout ces caca de paresse qui reviennent tot ou tard t'empoisonner la vie.

  9. #9
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Par défaut
    Merci encore olibara pour votre reponse,

    Il est vrai que Part est une collection extérieurement de ma boucle
    et j'ai sorti : GridView1.DataSource=Part; de ma boucle.

    Voici le morceau de code de la defintion de ma GridView1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <fieldset style="height: 131px">
    <legend><b>Résultat de la Recherche</b></legend>
        <asp:GridView ID="GridView1" runat="server" Height="98px" Width="185px">
        </asp:GridView>
    </fieldset>
    Mon but est d'affiché sur ma page web la grille et non pas sur des Form.
    Comment puis-je corrigé mon code pour que l'affichage soit possible??

  10. #10
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut

    Sortir le datasource de ta boucle c'est deja un bon pas

    En WinForm je pourrais t'aider plus, malheureusement je n'ai pas asser d'experience en asp pour pouvoir comprendre le souci

    Mais ce quyi me perturbe aussi c'est que je comprends que tu utilise une datasource mais que tu ajoute aussi manuellement des colonnes a ton GridView
    Est ce bien ce que tu cherche a faire ??

  11. #11
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Par défaut
    Merci pour votre aide,
    Je suis un stagière et je viens juste de commencer avec c#, sincerement aprés une recherche sur le net, j'ai trouvé sur un forum quelque chose qui ressemble à ce que je veux.
    Aprés quelque modification je suis arrivé à ce morceau de code
    C'est pour ça j'ai besoin de l'avis d'un profeesionnel.

  12. #12
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Si ta datasource est une datatable ou autre collection
    il n'est pas du tout nécessaire de definir les colonnes de ton datagridview
    Normalement en WinForm tu fais MonDgv.DataSource=MaDataTable
    Et hop ca roule
    ATTENTION avant chaque assignation, faire MonDgv.DataSource=null;

    Mais en asp, je ne sais pas si c'est la meme classe DataGridView (parce que je vois que l'on parle de GridView et pas DataGridView) et donc je ne sais pas si le comportement est le meme.

Discussions similaires

  1. Problème d'affichage dans une datagridview
    Par Helfy dans le forum C#
    Réponses: 0
    Dernier message: 09/05/2012, 10h03
  2. Affichage dans une DataGridView
    Par ramzio dans le forum VB.NET
    Réponses: 3
    Dernier message: 18/03/2010, 15h47
  3. affichage des donnes dans une datagridview
    Par daloul dans le forum VB.NET
    Réponses: 1
    Dernier message: 25/04/2008, 08h04
  4. Réponses: 1
    Dernier message: 26/11/2007, 08h26
  5. Afficher une collection d'objets dans une datagridview
    Par thorgal1612 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/04/2007, 17h38

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