随笔 - 1330  文章 - 1  评论 - 378  阅读 - 482万 


    

     GridView控件第一触发的事件为Init事件,即初始化控件,随后是Load事件,把控件加载到页面中。如里加载控件成功,则开始执行数据绑定的操作,并且在数据绑定过程中创建控件的每一行。创建控件的所有行这后,在页面上呈现控件,从而完成控件在页面上呈现的过程。

一、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

总结:

      在 GridView 绑定数据开始,也就是触发 DataBounding 事件后,这时已经把数据从数据源取出或者说已经规定了那些数据字段将会被取出,其中 的 Visible 属性为 false 的字段的值是不会从数据源中获取的。这就是为什么当 GridView 使用直接在 html 中将 Visible=false 来隐藏某一列时,会得不到该列的值。然后调用 RowCreated 事件把一行数据全部填充到一个 gridViewRow 里面,然后触发 RowDataBound 事件把该行绑定到 GridView 的 Rows 中。一直到最后触发 GridView 的 DataBound 来绑定显示数据。

posted on   钱途无梁  阅读(535)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示