Click here to Skip to main content
15,891,316 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
C#
private void button2_Click(object sender, EventArgs e)
       {
           for (int i = 0; i <= dataGridView1.Rows.Count; i++)
           {
               int sum = 0 ;

               sum = sum + Convert.ToInt32(dataGridView1.Rows[i].Cells[i].Value);
               textBox2.Text = Convert.ToString(sum);
           }
       }
Posted

Of course your code wont work because simply you telling the program to get the sum of the first row first cell and second row second cell etc...
and in one point you will get an error if your rows are more than your columns
you need to add another for loop to loop over the cells in each row this is how its going to work

Hope this helped
 
Share this answer
 
The better way to do this would be to

1. have a form level variable to store the sum,
2. initialize it to 0
3. and then in RowDatBound event add the current rows value into this member variable.

When the grid is bound this varable will contain the sum.

4. you can put this value in a textbox in unlod event.
 
Share this answer
 
Comments
zeshanazam 31-Oct-12 15:09pm    
new in c#, i didn't get your solution.
zeshanazam 31-Oct-12 15:25pm    
got an error "Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index"

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900