开发者社区> 布雷泽> 正文

【转载】DataKeyNames,DataKeys 用法浅谈

简介: 原文地址:http://www.cnblogs.com/amos/archive/2010/07/16/1778796.html DataKeyNames作为GridView中的一个属性,我们可以利用这个属性结合DataKeys方便的访问GridView中每个字段的值。
+关注继续查看

原文地址:http://www.cnblogs.com/amos/archive/2010/07/16/1778796.html

DataKeyNames作为GridView中的一个属性,我们可以利用这个属性结合DataKeys方便的访问GridView中每个字段的值。

先说怎么用

DataKeyNames可以直接在GridView属性中设置,多个字段之间用逗号分隔,如:Id,Name,Sex 。

在用代码绑定GridView时,也可以设置DataKeyNames:


1 gv.DataSource = Bind();
2
3 gv.DataKeyNames = new string[]
4 {
5   "Id","Name","Sex"
6 };
7
8 gv.DataBind();

DataKeyNames设置好以后,就可以用DataKeys来访问DataKeyNames中每个字段的值了,假如写在RowDeleting事件中


1 protected void gv_RowDeleting(object sender, GridViewDeleteEventArgs e)
2 {
3   string id = gv.DataKeys[e.RowIndex].Value.ToString();//对象中索引0位置的对象值
4 }

这样写也是对的:


1 string id = gv.DataKeys[e.RowIndex].Values["Id"].ToString();

按照索引同样可以取:


1 string id = gv.DataKeys[e.RowIndex][0].ToString();//取Id
2 string name= gv.DataKeys[e.RowIndex][1].ToString();//取Name
3 string sex = gv.DataKeys[e.RowIndex][2].ToString();//取Sex

可以这样用的原因:

当你设置了DataKeyNames属性,它保存了指定数据库中想要获取值的列名,该属性会自动填充到GridView控件的DataKeys集合

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CImageList用法介绍
CImageList用法介绍
35 0
LoggerFactory.getLogger用法
LoggerFactory.getLogger用法
26 0
NSJSONSerialization的简单用法
NSJSONSerialization 苹果官方给出的解析方式是性能最优越的,虽然用起来稍显复杂。 首先我们在上面已经有了我希望得到的信息的网站的API给我们的URL,在OC中,我要加载一个NSURL对象,来向网站提交一个Request。
933 0
+关注
布雷泽
这个家伙很懒什么都没有留下。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载