Datagridview column running total

I need sample code for the following example:

Col1      Col2

1. 123|  123
2. 123|  246
3. 123|  369
4. 123|  492

I want to keep a running total of Col1 values in Col2.
Row 1 Col2 to show Col1 cell 1 value
Row 2 Col2 to show sum of Col1 cells 1 & 2.
Row 3 Col2 to show sum of Col2 cells 1 & 2 & 3
Row 4 Col2 to show sum of Col2 cells 1 & 2 & 3 & 4

Column 1 is databound - Column 2 can be databound or unbound...

Thanks!
dave_skyAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
Jesus RodriguezConnect With a Mentor IT ManagerCommented:
Let me clarify the answer before. On This code

Private Sub btnTotal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTotal.Click

        Dim tblbreakeven As New DataTable
        Dim C1 as New DataColum
        With C1
               .ColumnName="COL1'
               .Datatype=System.getType("Sysytem.Double")
        End With
        Dim C2 as New DataColum
        With C2
               .ColumnName="COL2'
               .Datatype=System.getType("Sysytem.Double")
        End With
        tblbreakeven.Add(C1)
        tblbreakeven.Add(C2)

        'Add the rows values for COL1 and then 

        Dim Sum As Double = 0
        For I As Integer = 0 To TblBreakEven.Rows.Count - 1
            Sum += tblbreakeven.Rows(I).Item("COL1")
            TblBreakEven.Rows(I).BeginEdit()
            TblBreakEven.Rows(I).Item("COL2") = Sum
            TblBreakEven.Rows(I).EndEdit()
            TblBreakEven.AcceptChanges()
        Next I

        TblBreakEvenDataGridView.DataSource = TblBreakEven
end Sub 

Open in new window


I was assuming  that the tblbreakeven dtatable was containing the values on the col1 already inside.

But if you already has the grid Binding to a datatable or has the grid with the datasource you can do this
 
         Dim Sum as Double=0
          For Each rw As DataGridViewRow In DataGridView1.Rows
            Sum += rw.Cells(0).Value
            rw.cells(1).value=Sum
        Next
 

Open in new window

1
 
Jesus RodriguezIT ManagerCommented:
.
Dim Sum as Double=0
For I as Integer=0 to Tbl.Rows.Count-1
  Sum+=Tbl.Rows(I).Item("COL1")
   Tbl.Rows(I).BeginEdit
   Tbl.Rows(I).Item("COL2")=Sum
   Tbl.Rows(I).EndEdit()
   Tbl.AcceptChanges()
Next I

YourGrid.Datasource=Tbl
0
 
dave_skyAuthor Commented:
I tried this and get an "Object reference not set to an instance of an object".error at TblBreakeven in: For I As Integer = 0 To TblBreakEven.Rows.Count - 1
Private Sub btnTotal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTotal.Click

        Dim tblbreakeven As DataTable
        Dim Sum As Double = 0
        For I As Integer = 0 To TblBreakEven.Rows.Count - 1
            Sum += tblbreakeven.Rows(I).Item("COL1")
            TblBreakEven.Rows(I).BeginEdit()
            TblBreakEven.Rows(I).Item("COL2") = Sum
            TblBreakEven.Rows(I).EndEdit()
            TblBreakEven.AcceptChanges()
        Next I

        TblBreakEvenDataGridView.DataSource = TblBreakEven
end Sub

Open in new window


Can you help?
0
 
dave_skyAuthor Commented:
k-designers,

Any ideas on the error I am getting on your sample code?
0
 
dave_skyAuthor Commented:
Thanks!
0
All Courses

From novice to tech pro — start learning today.