Bonjour,

Je cherche à réaliser des sommes par colonne dans le footer d'un datagridview.

J'ai mis à true le footer at appliquer ce code dans la proprieté "rowdatabound" du gridview.

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
 
                protected void gvTest_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Total_Line1 += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "LINE_1"));
                Total_Line2 += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "LINE_2"));
            }
            else if (e.Row.RowType == DataControlRowType.Footer)
            {
                e.Row.Cells[0].Text = "Totals:";
                e.Row.Cells[1].Text = Total_Line1.ToString("c");
                e.Row.Cells[2].Text = Total_Line2.ToString("d");
                e.Row.Cells[1].HorizontalAlign = e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Right;
                e.Row.Font.Bold = true;
            }
        }
J'ai le problème suivant :- Ce code me genere une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Object cannot be cast from DBNull to other types.
sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Total_Line1 += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "LINE_1"));
Je pense que ceci provient du fait que la valeur est null.
Savez vous comment lui faire comprendre que si c'est vide je veux 0.

Merci pour votre aide.