celdu7
Messages postés11Date d'inscriptionmardi 26 mai 2009StatutMembreDernière intervention19 juin 2009
-
11 juin 2009 à 17:18
celdu7
Messages postés11Date d'inscriptionmardi 26 mai 2009StatutMembreDernière intervention19 juin 2009
-
17 juin 2009 à 10:22
Bonjour. Dans le cadre de mon stage je dois réaliser une page web. Le début était assez simple, mais je me retrouve coincé au niveau de ma gridview.
En, effet, je dispose d'une gridview composée des colonnes suivantes :
Rubrique, Montant HT, Montant TVA, Montant TTC, Commentaire(s).
Il faut que je fasse un total des montants TTC dans une TextBox qui est à part de la gridview. Enfin je sais qu'il faut que je fasse ça dans le RowDataBound, mais je ne vois pas du tout comment faire. Je signale bien que je ne veux pas avoir ce résultat dans le footer, mais bien dans une textbox à part.
protected void gvNdFAttente_RowDataBound(object sender, GridViewRowEventArgs e)
{
// code pour faire la somme des montants TTC
}
celdu7
Messages postés11Date d'inscriptionmardi 26 mai 2009StatutMembreDernière intervention19 juin 2009 17 juin 2009 à 10:22
Alors voilà j'ai enfin réussi. Je met mon code si ça peut aider quelqu'un par la suite. Mais y a plein de façons différentes de le faire.
protected void gvNdFAttente_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var txtTTC = e.Row.Cells[3].Controls[0] as TextBox;
// Calcul du total TTC
double somme=0;
if(Double.TryParse(txtTTC.Text, out somme))
{
_total += somme;
}
TextBoxTotal.Text = _total.ToString();
}
}
Je n'ai pas mis tout mon code car il y a d'autres éléments dans mon rowdatabound qui serve à autre chose. Il y a donc ici seulement le code pour faire le total.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201136 12 juin 2009 à 22:50
Oups j'ai pas fais gaffe que c''etait sur la meme ligne.
Solution 1
dans les aspx (je ne suis pas trop sur de la syntaxe)
<%#=Eval("HT")+Eval("TVA")%>
Soltution 2
dans le aspx.cs (syntaxe approximative)
sur l'evenement onitem_databound
TextBox t1 = e.findcontrol("Textbox1") as TextBox;
t1 = e.dataitem["HT"] + e.dataite["TVA"]
Solution 3
dans le fichie aspx.cs
Ajout d'une propriété calculé à ta source de données
* Classe List<T>
dans T tu as un TTC {get HT+TVA;}
* Dans une datable
ajout d'une datacolonneexpression
Solution 4
* dans la requete SQL
Solutions 5
* dans la requete LINQ ou EF (si tu utilises ces technos)
Donc plusieurs solutions a toi de choisir la plus adaptée ou celle ou tu te sens le plus a l'aise