3 pièce(s) jointe(s)
Création et utilisation d'une fonction
Bonjour à tous ;)
Je débute avec Visual Studio 2005, et je cherche à créer une fonction pour éviter de répéter un même code dans plusieurs pages différentes. Pour info, mes pages fonctionne parfaitement en répétant le code dans chaque page.
Voici une partie de "MaPage.aspx.cs" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
protected void gvFamily_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int Total_Line1 = 0;
int Total_Grf2 = 0;
int Total_Line2 = 0;
int Total_Grf3 = 0;
int Total_Line3 = 0;
int Total_Grf4 = 0;
int Total_Line4 = 0;
int Total_Grf5 = 0;
int Total_Line5 = 0;
int Total_Grf_All = 0;
Total_Line1 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_BBB").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_BBB").ToString()));
Total_Grf2 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_BBB").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_BBB").ToString()));
Total_Line2 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_CCC").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_CCC").ToString()));
Total_Grf3 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_CCC").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_CCC").ToString()));
Total_Line3 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_CCC_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_CCC_DDD").ToString()));
Total_Grf4 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_CCC_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_DDD").ToString()));
Total_Line4 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_DDD").ToString()));
Total_Grf5 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_DDD").ToString()));
Total_Line5 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_DDD").ToString()));
Total_Grf_All += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_DDD").ToString()));
}
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[0].Text = "Total :";
// for the Footer, display the running totals
e.Row.Cells[1].Text = Total_Line1.ToString("d");
e.Row.Cells[2].Text = Total_Grf2.ToString("d");
e.Row.Cells[3].Text = Total_Line2.ToString("d");
e.Row.Cells[4].Text = Total_Grf3.ToString("d");
e.Row.Cells[5].Text = Total_Line3.ToString("d");
e.Row.Cells[6].Text = Total_Grf4.ToString("d");
e.Row.Cells[7].Text = Total_Line4.ToString("d");
e.Row.Cells[8].Text = Total_Grf5.ToString("d");
e.Row.Cells[9].Text = Total_Line5.ToString("d");
e.Row.Cells[10].Text = Total_Grf_All.ToString("d");
e.Row.HorizontalAlign = HorizontalAlign.Center;
e.Row.Font.Bold = true;
}
} |
Et voici la partie de qui doit être utilisée dans plusieurs autre page :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| int Total_Line1 = 0;
int Total_Grf2 = 0;
int Total_Line2 = 0;
int Total_Grf3 = 0;
int Total_Line3 = 0;
int Total_Grf4 = 0;
int Total_Line4 = 0;
int Total_Grf5 = 0;
int Total_Line5 = 0;
int Total_Grf_All = 0;
Total_Line1 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_BBB").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_BBB").ToString()));
Total_Grf2 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_BBB").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_BBB").ToString()));
Total_Line2 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_CCC").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_CCC").ToString()));
Total_Grf3 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_CCC").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_CCC").ToString()));
Total_Line3 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_CCC_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_CCC_DDD").ToString()));
Total_Grf4 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_CCC_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_DDD").ToString()));
Total_Line4 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_DDD").ToString()));
Total_Grf5 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_DDD").ToString()));
Total_Line5 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_DDD").ToString()));
Total_Grf_All += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_DDD").ToString())); |
Dans le dossier "Common", j'ai donc créer une fonction du type :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| public void SumFooter()
{
int Total_Line1 = 0;
int Total_Grf2 = 0;
int Total_Line2 = 0;
int Total_Grf3 = 0;
int Total_Line3 = 0;
int Total_Grf4 = 0;
int Total_Line4 = 0;
int Total_Grf5 = 0;
int Total_Line5 = 0;
int Total_Grf_All = 0;
// add the total_line_1 and total_line_2 to the running total variable
Total_Line1 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_BBB").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_BBB").ToString()));
Total_Grf2 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_BBB").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_BBB").ToString()));
Total_Line2 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_CCC").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_CCC").ToString()));
Total_Grf3 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_CCC").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_CCC").ToString()));
Total_Line3 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_CCC_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_CCC_DDD").ToString()));
Total_Grf4 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_CCC_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_DDD").ToString()));
Total_Line4 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_BBB_DDD").ToString()));
Total_Grf5 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_BBB_DDD").ToString()));
Total_Line5 += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_THEO_AAA_DDD").ToString()));
Total_Grf_All += Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_DDD").ToString() == "" ? "0" : DataBinder.Eval(e.Row.DataItem, "NB_REAL_AAA_DDD").ToString()));
} |
Et je fais donc appel à cette fonction dans "MaPage.aspx.cs" de la facon suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| protected void gvFamily_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// add the total_line_1 and total_line_2 to the running total variable
SumFooter();
}
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[0].Text = "Total :";
// for the Footer, display the running totals
e.Row.Cells[1].Text = Total_Line1.ToString("d");
e.Row.Cells[2].Text = Total_Grf2.ToString("d");
e.Row.Cells[3].Text = Total_Line2.ToString("d");
e.Row.Cells[4].Text = Total_Grf3.ToString("d");
e.Row.Cells[5].Text = Total_Line3.ToString("d");
e.Row.Cells[6].Text = Total_Grf4.ToString("d");
e.Row.Cells[7].Text = Total_Line4.ToString("d");
e.Row.Cells[8].Text = Total_Grf5.ToString("d");
e.Row.Cells[9].Text = Total_Line5.ToString("d");
e.Row.Cells[10].Text = Total_Grf_All.ToString("d");
e.Row.HorizontalAlign = HorizontalAlign.Center;
e.Row.Font.Bold = true;
}
} |
Voici malheureusement les erreurs :
http://www.developpez.net/forums/att...1&d=1232030089
Les parties soulignées en bleu :
http://www.developpez.net/forums/att...1&d=1232029964
http://www.developpez.net/forums/att...1&d=1232029968
Merci de votre aide précieuse. :king: