GridView隐藏列取值
来源:互联网 发布:自动校准手机时间软件 编辑:程序博客网 时间:2024/04/29 16:18
在Asp.net 2.0中增加了一个新的数据绑定控件:GridView,其目的用来取代Asp.net1.x中的DataGrid控件,但有一点很不爽的是,如果把某列设置为visible=false,则不会进行数据绑定,也就是说无法直接从GridView中取到这个列内的文本。
这一功能在DataGrid时代几乎是必须的,在对列表进行批量选中操作时非常有用(比如批量删除),隐藏列通常用于存储DataGrid行对应数据记录的关键字的值,而现在在GridView中却行不通,着实令一大批人头疼不已。
在DataGrid中,用隐藏列来存储键值是必须的,甚至是一个初学者需要摸索才能知道的技巧。然而现在GridView是用来替代DataGrid的,微软所作的考虑更加周全。针对DataGrid无法提供行主键的问题,它提供了两个全新的属性:DataKeys和DataKeyNames!其SDK中的描述如下:
DataKeyNames:获取或设置一个数组,该数组包含了显示在 GridView 控件中的项的主键字段的名称。
DataKeys:获取一个 DataKey 对象集合,这些对象表示 GridView 控件中的每一行的数据键值。
看到这里,也许你会有所明白,针对批量选中操作的问题,我们有了新的方案,现在来看一个简单的实现,假设主键字段是id:
//你也可以在设计器中直接设置主键字段,多个字段用逗号隔开
GridView1.DataKeyNames = new string[] { "id" };
这样,当进行数据绑定时,GridView会自动用键值填充DataKeys集合,从而在绑定或者回传后可以通过DataKeys集合来获取某一行的键值,例如假设想获取第i行的id键值,其代码如下:
string id=GridViews1.DataKeys[i]["id"].ToString();
//通过键值对数据进行处理……
由此可见,GridView提供了新的机制来绑定额外的数据到每一行。这使得可以完全放弃原来DataGrid通过隐藏列来绑定键值的做法,显然,现在的方案要优雅的多。
msdn参考文章-GridView..::.DataKeyNames 属性:http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.gridview.datakeynames.aspx
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- GridView隐藏列取值
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- gridview 隐藏列取值
- GridView隐藏列取值解决方案
- GridView隐藏列取值解决方案
- (转载)GridView隐藏列取值解决方案
- VS2005中GridView隐藏列取值解决方案
- VS2005中GridView隐藏列取值解决方案
- 设计模式[4] Bridge Pattern 桥接模式
- C++基本功:全面掌握const、volatile和mutable关键字
- 固定表格头部信息
- 人生致命的八个经典问题
- 2008-05-21:Alter的用法(2008-05-27)
- GridView隐藏列取值
- 正则表达式 关于/num
- tomcat中的server.xml元素详解
- const 用法详解
- __mt_alloc源码分析(4)
- 积分是零分怎么办?
- 2张表关联字段的关联更新,代码如下:
- CImageMaster轻松显示图片
- Oracle RAC中Srvctl命令详细说明