GridView事件分析 (转)

P1默认数据绑定过程

编号

事件名称

作用

E1

DataBinding

数据绑定之前触发,在这个事件之前(第一次生成GridView),GridView不存在行数据。

E2

RowCreated

GridView的数据源存在时,产生新的一行

E3

RowDataBound

GridView的数据源存在时,在调用F2之后,调用自身,为新生成的GridView的一行提供数据绑定。

E4

DataBound

当所有的Row生成之后,并且绑定了数据,触发本事件。说明了GridView的事件绑定结束

过程,调用GridViewDataBind可以激起数据绑定P1

E1 ——> E2 ——> E3 ——>E2 ——>E3…..——>E4

P2当点击SelectButton时,事件处理过程(DeleteNewSelect类似)

编号

事件名称

作用

E5

RowCommand

GridView中,点击了其中的Button,因此触发了RowCommand的事件。

E6

SelectedIndexChanging

buttonCommandName=”Select”时,触发本事件(否则不会触发本事件),生成了一个新的SelectIndex,和我们可以设定Cancel = true,拒绝触发绑定样式和E6

E7

SelectedIndexChanged

E5完成后,我们可以在这里处理SelectIndex后的事件

在这里我们没有进行进行P1的数据绑定过程

E4 ——>E5 ——>E6

 

P3当点击EditButton时,事件处理过程

编号

事件名称

作用

E5

RowCommand

GridView中,点击了其中的Button,因此触发了RowCommand的事件。

E8

RowEditing

buttonCommandName=”Edit”时,触发本事件(否则不会触发本事件),生成了一个新的EditIndex,和我们可以设定Cancel = true,拒绝编辑和E9

注意这里我们用到了P1

E5 ——>E8——>P1

在这里应为Edit事件触发后,可以修改的Field需要填充数据因此调用了P1这个数据绑定过程。

 

P4当点击EditCanel时,事件处理工程

编号

事件名称

作用

E5

RowCommand

GridView中,点击了其中的Button,因此触发了RowCommand的事件。

E9

RowCancelingEdit

buttonCommandName=”Cancel”时,触发本事件(否则不会触发本事件),生成了一个新的RowIndex,和我们可以设定Cancel = true,继续编辑

注意这里我们用到了P1

E5 ——>E9——>P1

在这里应为Edit事件触发后,可以修改的Field需要填充数据因此调用了P1这个数据绑定过程。

 

由上面已知,我们可以将GridView的事件过程作一下总结:

1,  当第一次生成GridView时,调用DataBinding

2,  当触发Select时,调用SelectIndexChanging,但不触发P1过程

3,  当出发EditCancelNewUpdate,首先调用各自的事件,然后触发P1工程。

4,  所有Button事件触发时,首先出发RowCommand事件。

5,  出发SelectEditCancelNewUpdate的关键是CommandName=”Select/Edit/Cancel

/New/Update”就可以触发相应的事件;

posted @ 2010-09-17 14:07  英雄不问出处  阅读(438)  评论(0编辑  收藏  举报