如何在rowdatabound的事件处理中编码确定数据对应的值-mile米乐体育
如何在rowdatabound的事件处理中编码确定数据对应的值
如何在rowdatabound的事件处理中编码确定数据对应的值,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
当productsdatatable绑定到gridview,gridview将会产生若干个productsrow。gridviewrow的dataitem属性将会生成一个实际的productrow。在gridview的 rowdatabound事件发生之后,为了确定unitsinstock的值,我们需要创建rowdatabound的事件处理,在其中我们可以确定unitsinstock的值并做相应的格式化
eventhandler的创建过程和前面两个一样
rowdatabound: 创建gridview的rowdatabound事件的事件处理
在后台代码里将会自动生成如下代码
protectedvoidhighlightcheapproducts_rowdatabound(objectsender,gridviewroweventargse){}
当rowdatabound事件触发,第二个参数gridviewroweventargs中包含了对gridviewrow的引用,我们用如下的代码来访问gridviewrow中的productsrow
protectedvoidhighlightcheapproducts_rowdatabound(objectsender,gridviewroweventargse){//gettheproductsrowobjectfromthedataitemproperty...northwind.productsrowproduct=(northwind.productsrow)((system.data.datarowview)e.row.dataitem).row;if(!product.isunitpricenull()&&product.unitprice<10m){//todo:highlighttherowyellow...}}
当运用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属性来确定:
protectedvoidhighlightcheapproducts_rowdatabound(objectsender,gridviewroweventargse){//makesureweareworkingwithadatarowif(e.row.rowtype==datacontrolrowtype.datarow){//gettheproductsrowobjectfromthedataitemproperty...northwind.productsrowproduct=(northwind.productsrow)((system.data.datarowview)e.row.dataitem).row;if(!product.isunitpricenull()&&product.unitprice<10m){//todo:highlightrowyellow...}}}
关于如何在rowdatabound的事件处理中编码确定数据对应的值问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。