Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET Adding Multiple footers rows to Gridview

Tags:

asp.net

i.e at the moment I am adding a footer row to my gridview as follows

    Protected Sub gvShoppingCart_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles gvShoppingCart.RowDataBound
    ' If we are binding the footer row, let's add in our total
    If e.Row.RowType = DataControlRowType.Footer Then
        e.Row.Cells(5).Text = "<strong>Total Cost:</strong>"
        e.Row.Cells(6).Text = ShoppingCart.Instance.GetSubTotal().ToString("C")
    End If
End Sub

How can I add more footer rows i.e. Total Discount, Total Saved etc likewise as above

like image 569
StevieB Avatar asked Oct 29 '25 06:10

StevieB


1 Answers

Here's some code for inserting a new row, based on the footer row. You could modify it to insert multiple rows.

    Protected Sub gvShoppingCart_DataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles gvShoppingCart.DataBound
        Dim grid as GridView = CType(sender, GridView)

        ''gets the current footer row to clone
        Dim footer As GridViewRow = grid.FooterRow
        Dim numCells = footer.Cells.Count

        Dim newRow As New GridViewRow(footer.RowIndex + 1, -1, footer.RowType, footer.RowState)

        ''have to add in the right number of cells
        ''this also copies any styles over from the original footer
        For i As Integer = 0 To numCells - 1
            Dim emptyCell As New TableCell
            emptyCell.ApplyStyle(grid.Columns(i).ItemStyle)

            newRow.Cells.Add(emptyCell)
        Next

        newRow.Cells(5).Text = "Total Discount:"
        newRow.Cells(6).Text = "55.00"

        ''add new row to the gridview table, at the very bottom
        CType(grid.Controls(0), Table).Rows.Add(newRow)

    End Sub
like image 54
patmortech Avatar answered Nov 01 '25 13:11

patmortech



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!