Gridview行绑定事件新体会

最近在做统计GridView中某一列的加总值,之前有在RowDataBound事件中中逐笔加总,经过测试才知道,这是不正确的,并不能得到所有资料的加总值。在网上搜了一下事件执行顺序,并经过测试在有分页的情况下是不正确的。

事件执行顺序:

一、GridView 显示绑定的数据(默认为5行):

DataBinding
RowCreated:Header[0]
RowDataBound
RowCreated:DataRow[1]
RowDataBound
RowCreated:DataRow[2]
RowDataBound
RowCreated:DataRow[3]
RowDataBound
RowCreated:DataRow[4]
RowDataBound
RowCreated:DataRow[5]
RowDataBound
RowCreated:Footer[6] //不管有没有页角行,该事件都会发生
RowDataBound
RowCreated:Pager[7]
RowDataBound
DataBound

顺序如下:

DataBinding
RowCreated
RowDataBound
......
DataBound

二、GridView 点击分页按钮时的事件发生顺序:

RowCommand
PageIndexChanging
PageIndexChanged
DataBinding
RowCreated:Header[8]
RowDataBound
RowCreated:DataRow[9]
RowDataBound
RowCreated:DataRow[10]
RowDataBound
RowCreated:DataRow[11]
RowDataBound
RowCreated:DataRow[12]
RowDataBound
RowCreated:DataRow[13]
RowDataBound
RowCreated:Footer[14]
RowDataBound
RowCreated:Pager[15]
RowDataBound
DataBound

理解也就是在点跳页按钮的时候,只会绑定要显示的页的资料,如上,因此在RowDataBound中不会绑定所有的资料,此时去统计,只能统计出当前页的加总(如上9-13笔的资料)

目前想来,也只有对要绑定的资料进行统计了。不能在GridView中的事件中去处理。

转自:http://www.cnblogs.com/newos/

转载请注明:代码家园 » Gridview行绑定事件新体会

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)