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 :

Ajout ligne de total sur un gridview


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 101
    Points
    101
    Par défaut Ajout ligne de total sur un gridview
    Bonjour

    J'ai un gridview qui se remplit dynamiquement sur une BD Access.
    je voudrais avoir sur la derniere ligne (footer) un total sur chaque colonne.
    Pour la première colonne pas de problème j'y suis arrivé.
    Comment faire pour les autres colonnes ?
    Merci pour vos réponses
    JCM
    PAPI

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Points : 486
    Points
    486
    Par défaut
    Comment charges tu ton Gridview ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 101
    Points
    101
    Par défaut
    Par une requete SQL et DataBind
    PAPI

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Points : 486
    Points
    486
    Par défaut
    peux tu poster ta méthode de chargement stp

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 101
    Points
    101
    Par défaut
    Ma requete :
    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
    Sub VoirCA()
            'objet connection
            Using connexion As OleDbConnection = Me.DBConn
                Dim DBCommand As OleDbCommand
                'Objet Dataset
                Dim DSPageData As New DataSet
                'connection a la base de données
                DBCommand = New OleDbCommand("SELECT * From CAsemaine Where Lan= ?" & " Order by NumJour", connexion)
                'objet DataAdapter
                Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
                DBCommand.Parameters.AddWithValue("Lan", Session("Lan"))
                myOleDbDataAdapter.SelectCommand.Parameters("Lan").Value = Session("Lan")
                myOleDbDataAdapter.Fill(DSPageData, "LePanier")
                GdvCA.DataSource = _
                 DSPageData.Tables("LePanier").DefaultView
                GdvCA.DataBind()
            End Using
        End Sub
    L'affichage du total sur le Footer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private orderTotal As Decimal = 0.0
        Sub GdvCA_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
            Dim row As GridViewRow = e.Row
            If row.RowType = DataControlRowType.Footer Then
                Dim total As Label = CType(e.Row.FindControl("OrderTotalCA"), Label)
                If (Not total Is Nothing) Then
                    total.Text = orderTotal.ToString("c")
                End If
            End If
        End Sub

    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
    Sub GdvCA_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
            Dim row As GridViewRow = e.Row
            If row.RowType = DataControlRowType.DataRow Then
                Dim cell As TableCell = e.Row.Cells(1)
                Dim boundControl As DataBoundLiteralControl = CType(cell.Controls(0), DataBoundLiteralControl)
                Dim itemTotal As String = boundControl.Text.Replace("€", "")
                orderTotal += Convert.ToDecimal(itemTotal)
            End If
            If e.Row.RowType = DataControlRowType.Footer Then
                ' Afficher le cumul en pied de grille
                With e.Row
                    .Cells(0).Text = "Total :"
                    .Cells(0).CssClass = "MontantPanier"
     
                End With
            End If
        End Sub
    Dans ce cas j'ai l'affichage du total sur la colonne 1, mais je voudrais également le total sur les colonnes 2 à 52
    Merci pour votre aide
    JCM
    PAPI

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Points : 486
    Points
    486
    Par défaut
    tu pourrais boucler sur ton DataSet DSPageData ... mais si j'étais toi je ferai une requete en faisant des SUM sur tes colonnes et je les afficheraient dans le Footer

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 101
    Points
    101
    Par défaut
    C'est à dire :
    Une première requete pour afficher les chiffres sur chaque lignes
    et une seconde pour les SUM ?
    PAPI

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/06/2015, 14h12
  2. Réponses: 3
    Dernier message: 02/09/2013, 17h39
  3. Calcul sur une ligne puis total sur la colonne
    Par jazono dans le forum Requêtes
    Réponses: 2
    Dernier message: 04/11/2009, 17h21
  4. Réponses: 2
    Dernier message: 07/08/2006, 16h43
  5. Débutant : Comment ajouter une ligne à un DataGrid sur VB ?
    Par gamool dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/11/2005, 23h53

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