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 :

Ajouter une ligne manuellement dans un GridView


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Par défaut Ajouter une ligne manuellement dans un GridView
    Bonjour,


    J'ai vu que cette question avait été posée mais je n'ai pas vu de réponse concluante concernant mon cas. En fait, je lie un GridView à un DataSource en code-behind. Au final, mon GridView a un certain nombre de lignes et quatre colonnes.

    Est-ce possible d'ajouter une ligne en plus (une ligne pour calculer un total), car j'ai vu que je ne pouvais pas faire quelque chose du genre "MaGridView.Rows.Add(MaGridViewRow)" ?


    Merci d'avance de votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 95
    Par défaut
    Plutot que d'ajouter une ligne dans la grille, pourquoi ne pas la rajouter dans ton datasource (datatable ?), avant le bind

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Par défaut
    Comment ça ? Car dans le code-behind, j'ai un DataSource de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SqlDataSource test = new SqlDataSource("requête SQL", SqlConnection);
    Et plus loin, je lie mon GridView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GridViewTest.DataBind();

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 95
    Par défaut
    Avec un sqldatasource, c'est plus compliqué

    Si tu étais passé par un objet command puis que tu aies obtenu une datatable, tu aurais pu faire un add dessus entre tes deux lignes.

    Sinon, faire un "union all" dans ta requête sql pour faire apparaitre la ligne que tu veux, c'est pas possible ?

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Par défaut
    Je ne connais pas "union all", quelle syntaxe pour l'utiliser ?
    Tout ce que je peux te dire, c'est qu'après avoir lié ma GridView, j'obtiens une colonne de nombres et je voudrais ajouter une ligne par la suite avec le total de ces nombres dans la cellule que je souhaite.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 95
    Par défaut
    Tu peux laisser la première partie de ta requête identique a actuellement

    puis rajouter un "union all"
    et à la suite refaire la même requêtes mais avec un sum() sur chaque champ et un group by qui va bien à la fin

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select chiffre1,chiffre2,chiffre3,chiffre4
    from matable
    where <condition>
    union all
    Select sum(chiffre1),sum(chiffre2),sum(chiffre3),sum(chiffre4)
    from matable
    where <condition>
    group by <condition>
    Le problème est de pouvoir différencier celà dans ta grid view. Il faudrait sans doute ajouter une nouvelle colone "type" qui te permettra, dans ta grid view, de faire passer la ligne de type "total" en gras pour la différencier des autres.

    il te reste sinon une solution "bizarre" consistant à créer une autre grid view, renseignée qu'avec les sum

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

Discussions similaires

  1. [Débutant] [MVC 2]Ajouter une ligne dynamiquement dans un tablean
    Par John.BE dans le forum ASP.NET MVC
    Réponses: 9
    Dernier message: 23/10/2013, 11h28
  2. Ajouter une ligne vide dans un datagrid
    Par aallal dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 15/10/2008, 12h30
  3. [VB Sax] Ajouter une référence manuellement dans un macro *.bas
    Par Miles Raymond dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/04/2008, 09h31
  4. Ajouter une ligne dans un gridview
    Par The eye dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/01/2008, 00h15
  5. Ajouter une ligne verticale dans un graphique
    Par slayer23 dans le forum MATLAB
    Réponses: 18
    Dernier message: 17/07/2007, 09h01

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