GridView事件分析 (转)
P1默认数据绑定过程
编号 |
事件名称 |
作用 |
E1 |
DataBinding |
数据绑定之前触发,在这个事件之前(第一次生成GridView),GridView不存在行数据。 |
E2 |
RowCreated |
当GridView的数据源存在时,产生新的一行 |
E3 |
RowDataBound |
当GridView的数据源存在时,在调用F2之后,调用自身,为新生成的GridView的一行提供数据绑定。 |
E4 |
DataBound |
当所有的Row生成之后,并且绑定了数据,触发本事件。说明了GridView的事件绑定结束 |
过程,调用GridView的DataBind可以激起数据绑定P1
E1 ——> E2 ——> E3 ——>E2 ——>E3…..——>E4
P2当点击SelectButton时,事件处理过程(Delete,New同Select类似)
编号 |
事件名称 |
作用 |
E5 |
RowCommand |
在GridView中,点击了其中的Button,因此触发了RowCommand的事件。 |
E6 |
SelectedIndexChanging |
当button的CommandName=”Select”时,触发本事件(否则不会触发本事件),生成了一个新的SelectIndex,和我们可以设定Cancel = true,拒绝触发绑定样式和E6 |
E7 |
SelectedIndexChanged |
当E5完成后,我们可以在这里处理SelectIndex后的事件 |
在这里我们没有进行进行P1的数据绑定过程
E4 ——>E5 ——>E6
P3当点击EditButton时,事件处理过程
编号 |
事件名称 |
作用 |
E5 |
RowCommand |
在GridView中,点击了其中的Button,因此触发了RowCommand的事件。 |
E8 |
RowEditing |
当button的CommandName=”Edit”时,触发本事件(否则不会触发本事件),生成了一个新的EditIndex,和我们可以设定Cancel = true,拒绝编辑和E9 |
注意这里我们用到了P1
E5 ——>E8——>P1
在这里应为Edit事件触发后,可以修改的Field需要填充数据因此调用了P1这个数据绑定过程。
P4当点击EditCanel时,事件处理工程
编号 |
事件名称 |
作用 |
E5 |
RowCommand |
在GridView中,点击了其中的Button,因此触发了RowCommand的事件。 |
E9 |
RowCancelingEdit |
当button的CommandName=”Cancel”时,触发本事件(否则不会触发本事件),生成了一个新的RowIndex,和我们可以设定Cancel = true,继续编辑 |
注意这里我们用到了P1
E5 ——>E9——>P1
在这里应为Edit事件触发后,可以修改的Field需要填充数据因此调用了P1这个数据绑定过程。
由上面已知,我们可以将GridView的事件过程作一下总结:
1, 当第一次生成GridView时,调用DataBinding。
2, 当触发Select时,调用SelectIndexChanging,但不触发P1过程
3, 当出发Edit,Cancel,New,Update,首先调用各自的事件,然后触发P1工程。
4, 所有Button事件触发时,首先出发RowCommand事件。
5, 出发Select,Edit,Cancel,New,Update的关键是CommandName=”Select/Edit/Cancel
/New/Update”就可以触发相应的事件;