关于GridView的思考

GridView封装程度这么高,确实让不少开发都变得挺简单的,但是它给前台大量的ViewState数据,会增加网络IO量,
所以说GridView或者说.net的控件是有利也有弊,不过在内网或者外网后台中使用GridView还是非常适合的。
最近用多了这个控件,在使用的时候发现一些问题,查下资料解决了,那么做个笔记:


1、GridView中有个DataKeyNames,这个集合存放GridView的数据指定的key列,一般我们是绑定数据库查询结果,所以这部分可能是数据库的主键,
或者是我们需要的一些数据(因为后面要用到的数据),在GridView的数据源绑定之后,我们可以从DataKeys中获取对应DataKeyNames列集合的数据集合,
DataKeys里面存放了各行的指定主键值的集合。
在RowDataBound事件绑定的方法中,我们可以通过GridView.DataKeys[e.RowIndex].Values[index]这样我们就可以获取到DataKeys中的数据了,其中比较重要的是id
我们可以通过获取这个id值,对数据进行增删改查...


2、在GridView中的dropDownList控件
在GridView添加DropDownList,可以很好的控制数据列的顺序,用户可以非常简单的修改数据的顺序,而不是自己填写,对吧(用户体验的重要性,增加编程的难度)
在dropDownList的dll_selectIndexChange事件绑定函数中,我们可以通过sender as DropDownList获取触发该事件dropdownList的控件,
然后这里我们就要知道是哪一行的数据所触发的,这里可以使用(sender as DropDownList).NamingContainer这个方法来获取指定GridView行,返回的数据为
GridViewRow:GridViewRow gvr=(sender as DropDownList).NamingContainer
string id=GridView.DataKeys[gvr.RowIndex].values[index]获取主键
换成其他控件,我们也可以这么处理,其事件绑定方法中获取行后获取主键...


3、在GridView行中查找控件:
经常都要在一个行中查找我们需要的控件,
那么 GridView1_RowDataBound(object sender, GridViewRowEventArgs e)中,我们可以通过e.Row.FindControl("controlName")
然后对其装箱就行了,这样就可以获取控件数据以及操作...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值