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 1.1] Ajouter manuellement une ligne à un datagrid


Sujet :

ASP.NET

  1. #1
    Jsh
    Jsh est déconnecté
    Membre régulier Avatar de Jsh
    Inscrit en
    Août 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Août 2005
    Messages : 100
    Points : 90
    Points
    90
    Par défaut [Asp .Net 1.1] Ajouter manuellement une ligne à un datagrid
    Bonjour,

    J'aimerais ajouter dynamiquement une ligne de titre à mon datagrid (dg), mais cette ligne ne fait qu'une colonne alors que mon datagrid en fait plusieurs.

    Je crée donc un dataset (ds),
    Je crée une datatable dtTitre à laquelle j'affecte une nouvelle ligne (drTitre) avec un nom de colonne,
    Je remplis cette "cellule" avec du texte de type string,
    Je mets ma dtTitre dans mon ds,

    Puis je crée une nouvelle datatable (dtProc) que je remplis avec une procédure stockée
    je mets ma dtProc dans mon ds.

    Et enfin, j'alimente mon dg avec le ds.

    Voici le 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
     
    DataSet ds = new DataSet();			
    DataTable dt = new DataTable();
     
    DataTable dtTitre1 = new DataTable();
    dtTitre1.Columns.Add("titre");
    DataRow drTitre1;
    drTitre1 = dtTitre1.NewRow();
    drTitre1["titre"] = "ceci est le titre";
    dtTitre1.Rows.Add(drTitre1);
    ds.Tables.Add(dtTitre1);
     
    // Ici j'alimente dtProc avec ma procstock
     
    ds.Tables.Add(dtProc );
     
    dg.DataSource = ds;
    dg.DataBind();
    Après le bind, j'ai ceci en erreur .Net :
    Aucun champ ou propriété 'NomDuChamp1ProcStock' n'a été trouvé dans la source de données sélectionnée.
    (Pour info, le champ existe dans la proc stock puisque sans l'ajout "manuel" de la ligne de titre, mon dg affiche bien le résultat de la requête).

    Le fait que la première DataTable fasse une colonne et la seconde plusieurs colonnes peut-il gêner ?
    N'utiliserais-je pas la bonne méthode ?
    Membre ou futur membre d'une SSII ?
    N'hésite pas à rejoindre le groupe social SSII

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    oui le nombre de colonne pose problème.
    Je ne me rappelle plus trop pour le DataGrid, mais n'est pas la meme chose que pour une GridView en .NET 2.0 (A voir).

    Regarde s'il n'y a pas une propriété AutoGenerateColumn = True

    Est ce que le nom des colonnes ne prend pas par défaut ce que la stored proc retourne ?

    Fix

  3. #3
    Jsh
    Jsh est déconnecté
    Membre régulier Avatar de Jsh
    Inscrit en
    Août 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Août 2005
    Messages : 100
    Points : 90
    Points
    90
    Par défaut
    J'ai bien un AutoGenerateColumns et il est bien défini à "False" en propriété de mon datagrid.

    Mes noms de colonnes sont bien alimentés par la procédure stockée.

    Tu dois penser comme moi !
    Membre ou futur membre d'une SSII ?
    N'hésite pas à rejoindre le groupe social SSII

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    Ok, donc si c'est autogenerateColumn = False, cela signifie que tu crées les columns dans ton code aspx ?

    Donc tu peux spécifier le HeaderText.
    Je ne comprends plus trop ce que tu veux faire.
    Tu ne veux pas mettre ton code de ta DataGrid ?

  5. #5
    Jsh
    Jsh est déconnecté
    Membre régulier Avatar de Jsh
    Inscrit en
    Août 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Août 2005
    Messages : 100
    Points : 90
    Points
    90
    Par défaut
    J'ai un peu manqué de précision : je ne peux pas me servir du Header parce qu'en fait je vais voir cette structure :

    Titre1
    Tableau de la proc stock
    Total1
    Titre2
    Total2
    Titre3
    Total3

    Vu le tirage de cheveux, je pars sur un repeater ! :-s
    Membre ou futur membre d'une SSII ?
    N'hésite pas à rejoindre le groupe social SSII

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    oui je pense que c'est mieux, ou DataList non ?
    Enfin tu pourras gérer le contenu de chaque cellule via du code html

  7. #7
    Jsh
    Jsh est déconnecté
    Membre régulier Avatar de Jsh
    Inscrit en
    Août 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Août 2005
    Messages : 100
    Points : 90
    Points
    90
    Par défaut
    le "repeater" fut la solution : et nettement plus simple à gérer !

    merci de ton aide.
    Membre ou futur membre d'une SSII ?
    N'hésite pas à rejoindre le groupe social SSII

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/03/2011, 15h05
  2. ajout d'une ligne à un gridview asp.net/vb.net
    Par yrifka dans le forum ASP.NET
    Réponses: 8
    Dernier message: 27/07/2010, 10h46
  3. [ASP.NET 3.5] Gridview, templater une ligne ?
    Par belfaigore dans le forum ASP.NET
    Réponses: 4
    Dernier message: 07/10/2008, 16h29
  4. [Asp .Net 1.1] Ajouter une ligne à un datagrid
    Par Jsh dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/03/2008, 15h48
  5. Réponses: 8
    Dernier message: 14/05/2004, 11h18

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