Click here to Skip to main content
14,209,465 members

How do I get a total from a GridView and put it elsewhere on the page?

Gregory Gadow asked:

Open original thread
I have a web page with several databound GridView controls. In the RowDataBound events for these grids, I accumilate the gross total, like this:

Protected Sub TradesGrid_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.DataRow Then
        Dim DVR As DataRowView = CType(e.Row.DataItem, DataRowView)
        If  IsNumeric(DVR("Concession")) Then
            Gross += CDec(DVR("Concession"))
        End If
    End If
End Sub

Once all of the grids have been rendered, I need to put the final gross total at the top of the page, above the grids.

My problem seems to be that the RowDataBound event seems to get fired during the page's render, after my last opportunity to manually change the page's content; even during the PreRenderComplete event, Gross is still zero.

Am I doing something wrong, or will I have to tell management that they can summaries in each grid (which is working fine) but not a full total outside of the grids?
Tags: ASP.NET

Preview



When answering a question please:
  1. Read the question carefully.
  2. Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  3. If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
  4. Don't tell someone to read the manual. Chances are they have and don't get it. Provide an answer or move on to the next question.
Let's work to help developers, not make them feel stupid.
Please note that all posts will be submitted under the The Code Project Open License (CPOL).



Advertise | Privacy | Cookies | Terms of Service
Web01 | 2.8.190617.3 | Last Updated 26 Mar 2009
Copyright © CodeProject, 1999-2019
All Rights Reserved.
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100