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 :

[GridView] Footer dynamique d'un boundField


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 66
    Points
    66
    Par défaut [GridView] Footer dynamique d'un boundField
    Salut,

    Voici mon problème :
    J'ai une table : Besoin(idBE, libelleBE, auteurBE, montantTTCBE)
    J'ai utilisé un gridview pour afficher cette table, avec comme SqlDataSource : select * from budget.
    Jusqu'ici tout va bien.

    Cependant, je souhaiterai afficher au niveau du footer de montantTTCBE une valeur d'une fonction que j'ai créé (totalBeNonBudget()).
    J'avais modifier mon BoundField en TemplateField comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <asp:TemplateField HeaderText="Montant TTC">
        <ItemTemplate>
            <%#GetBeNonBudget(Decimal.Parse(Eval("montantttcbe").ToString())).ToString("N2")%>
        </ItemTemplate>
        <FooterTemplate>
            <%#totalBeNonBudget().ToString("N2")%>
        </FooterTemplate>
        <FooterStyle Font-Bold="True" HorizontalAlign="Center" />
    </asp:TemplateField>
    Cependant, j'ai un problème avec ma fonction GetBeNonBudget() car montantttcbe peut être null, donc ça me créé une erreur : "Le format de la chaîne d'entrée est incorrect."

    Je souhaiterai donc garder le BoundField (pour ne pas avoir à utiliser cette fonction et ne pas avoir d'erreur) mais afficher dans le footer ma fonction totalBeNonBudget().
    Ou alors si vous savez comment corriger ma fonction GetBeNonBudget() pour que ça ne me fasse pas d'erreur.

    Merci.

  2. #2
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    peut-être ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <asp:TemplateField HeaderText="Montant TTC">
        <ItemTemplate>
            <%#GetBeNonBudget(string.IsNullOrEmpty(Eval("montantttcbe").ToString()) ?"0.00" : Decimal.Parse(Eval("montantttcbe").ToString())).ToString("N2")%>
        </ItemTemplate>
        <FooterTemplate>
            <%#totalBeNonBudget().ToString("N2")%>
        </FooterTemplate>
        <FooterStyle Font-Bold="True" HorizontalAlign="Center" />
    </asp:TemplateField>

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 66
    Points
    66
    Par défaut
    Le ? est souligné : caractère non valide
    et ).ToString("N2") aussi : fin d'instruction attendue

    Si tu vois d'où ça peut venir ?

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 66
    Points
    66
    Par défaut
    C'est bon j'ai réussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <asp:TemplateField HeaderText="Montant TTC">
                    <ItemTemplate>
                        <%#GetBeNonBudget(Eval("montantttcbe")).ToString()%>
                    </ItemTemplate>
                    <FooterTemplate>
                        <%#totalBeNonBudget().ToString("N2")%>
                    </FooterTemplate>
                    <FooterStyle Font-Bold="True" HorizontalAlign="Center" />
                </asp:TemplateField>
    Là ma fonction GetBeNonBudget a en paramètre un Object et non plus un String.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function GetBeNonBudget(ByVal Price As Object) As Object
            Dim pricenul As String = ""
            Dim res As Decimal
            If IsDBNull(Price) Then
                pricenul = ""
                Return pricenul
            Else
                res = Decimal.Parse(CStr(Price))
                Return res
            End If
    End Function
    Là ma fonction me retourne soit un String vide si la valeur est nulle, soit un Decimal de Price.

    Merci quand même Guitoux1.

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

Discussions similaires

  1. gridview remplie dynamiquement
    Par tortuegenie dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/03/2008, 10h21
  2. Gridview editable dynamiquement
    Par anikon dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/10/2007, 13h24
  3. Réponses: 5
    Dernier message: 13/09/2007, 12h27
  4. GridView DataSource Dynamique
    Par hippoX dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/07/2007, 12h10
  5. Réponses: 1
    Dernier message: 04/04/2007, 09h39

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