温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在RowDataBound的事件处理中编码确定数据对应的值

发布时间:2022-01-10 18:39:37 来源:亿速云 阅读:143 作者:柒染 栏目:编程语言

如何在RowDataBound的事件处理中编码确定数据对应的值,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

当ProductsDataTable绑定到GridView,GridView将会产生若干个ProductsRow。GridViewRow的DataItem属性将会生成一个实际的ProductRow。在GridView的 RowDataBound事件发生之后,为了确定UnitsInStock的值,我们需要创建RowDataBound的事件处理,在其中我们可以确定UnitsInStock的值并做相应的格式化

EventHandler的创建过程和前面两个一样

如何在RowDataBound的事件处理中编码确定数据对应的值

RowDataBound: 创建GridView的RowDataBound事件的事件处理

在后台代码里将会自动生成如下代码

protected void HighlightCheapProducts_RowDataBound(object sender, GridViewRowEventArgs e)   {   }

当RowDataBound事件触发,第二个参数GridViewRowEventArgs中包含了对GridViewRow的引用,我们用如下的代码来访问GridViewRow中的ProductsRow   

protected void HighlightCheapProducts_RowDataBound(object sender, GridViewRowEventArgs e)       {        // Get the ProductsRow object from the DataItem property...           Northwind.ProductsRow product = (Northwind.ProductsRow)((System.Data.DataRowView)e.Row.DataItem).Row;           if (!product.IsUnitPriceNull() && product.UnitPrice <  10m)           {               // TODO: Highlight the row yellow...          }       }

当运用RowDataBound事件处理时,GridView由各种类型不同的行组成,而事件发生针对所有的行类型, GridViewRow的类型可以由RowType属性决定,可以是以下类型中的一种

·DataRow – GridView的DataSource中的一条记录

·EmptyDataRow – GridView的DataSource显示出来的某一行为空

·Footer – 底部行; 显示由GridView的ShowFooter属性决定

·Header – 头部行; 显示由GridView的ShowHeader属性决定

·Pager – GridView的分页,这一行显示分页的标记

·Separator – 对于GridView不可用,但是对于DataList和Reapter的RowType属性却很有用,我们将在将来的文章中讨论他们

当上面四种(DataRow, Pager Rows Footer, Header)都不合适对应值时,将返回一个空的数据项, 所以我们需要在代码中检查GridViewRow的RowType属性来确定:

protected void HighlightCheapProducts_RowDataBound(object sender, GridViewRowEventArgs e)   {           // Make sure we are working with a DataRow           if (e.Row.RowType == DataControlRowType.DataRow)           {               // Get the ProductsRow object from the DataItem property...               Northwind.ProductsRow product = (Northwind.ProductsRow)((System.Data.DataRowView)e.Row.DataItem).Row;               if (!product.IsUnitPriceNull() && product.UnitPrice <  10m)               {                   // TODO: Highlight row yellow...               }           }   }

关于如何在RowDataBound的事件处理中编码确定数据对应的值问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI