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" :
Et voici la partie de qui doit être utilisée dans plusieurs autre page :
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
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; } }
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
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 : 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
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 :
Voici malheureusement les erreurs :
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
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; } }
Les parties soulignées en bleu :
Merci de votre aide précieuse.
Partager