DataKeyNames,DataKeys

gridveiw中DataKeyNames属性的作用 gridveiw中DataKeyNames的属性是绑定数据库中字段的 阅读详情

1.DataKeyNames 属性指定表示数据源主键的字段。当设置了 DataKeyNames 属性时,GridView 控件用来自指定字段的值(数据库中表的值)填充它的 DataKeys 集合,这提供了一种访问每个行的主键的便捷方法。(因为表中的ID列一般不显示给网页上,如对表中的列更新时,就需要ID列了)DataKeyNames就是数据库表的字段,可以设置多个。注意 若要以声明方式设置此属性,请使用以逗号分隔的字段名列表。设置DataKeyNames属性,它保存了指定数据库中的想要获取值的列名,该属性会自动填充到GridView控件的DataKeys集合,例如:事件: protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { //通过DataKeyNames属性里设置的字段名获得了数据库表中的ID值 int id =int.Parse( this.GridView1.DataKeys[e.RowIndex][0].ToString()); //获得GridView中被更改的单元格中的值 string a1 = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text.ToString(); string a2 = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text.ToString(); string a3 = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString(); string a4 = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text.ToString(); string a5 = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text.ToString(); string a6 = ((TextBox)this.GridView1.Rows[e.RowIndex].Cells[5].Controls[0]).Text.ToString(); UpdateUser(id, a1, a2, a3, a4, a5, a6); this.GridView1.EditIndex = -1;//取消编辑状态 GetData();//重新绑定 }2.DataKeys[e.RowIndex]e实际上是一个事件参数,当你点哪行e就是哪行,可以用RowIndex属性来取得该行的索引,而DataKeys是GridView的主键,可以使用DataKeys[行号]的方式取得,它返回一个DataKey对象,然后就可以用DataKey.Value得到该行的主键值。 但是应该注意,在将数据源绑定到GridView上时,应该指定它的DataKeyField属性,才能正常使用。 例如: GridView.DataKeyFields=new string[]{"id"}; “id”就是表中的主键列名------------------------------------------------------------------------------------------------------------------------------------------GridView 中DataKeyNames 存储数据键值 在我们使用GridView的过程中,经常会遇到这样对问题,我们选择某一行进行编辑,或选择某一行删除或者.......时,我们需要获取当前行的某些信息,尤其是当前行的主键信息,主键信息一般不显示在页面,此时我们有三种方法来处理。第一种是使用DataKeyNames ,这里要重点介绍的。第二种是使用按钮的CommandArgument属性邦定需要的信息。第三种是最古老最通用的方法使用隐藏的方法显示。第一种方法:使用DataKeyNames,DataKeyNames可邦定一列,也可邦定多列前台:DataKeyNames="FID" 绑定一个值后台:GridView1.DataKeys[e.Row.RowIndex].Value.ToString();前台:DataKeyNames="FID,FName" 绑定两个值后台:GridView1.DataKeys[e.Row.RowIndex].Values[0].ToString();后台:GridView1.DataKeys[e.Row.RowIndex].Values[1].ToString();或者后台:GridView1.DataKeys[e.Row.RowIndex].Values["FID"].ToString();后台:GridView1.DataKeys[e.Row.RowIndex].Values["FName"].ToString();第二种方法:是用按钮的CommandArgument属性邦定需要的信息。典型的例子:下载附件列(有附件的显示下载链接,无附件的显示为空)下载在dgHKStock_ItemCommand事件中:if ("download" == e.CommandName){ mybc.SystemOverTime0(); // 判断Session是否过期 mybc.RightManage("16010500"); // 判断用户是否有打开此网页的权限 mybc.HTTP_DownloadFile(e.CommandArgument.ToString()); // 取得当前存货信息的附件存放路径}

datakeynames的设定和取值 DataKeyNames就是数据库表的字段,可以设置多个。使用 DataKeyNames 属性指定表示数据源主键的字段。注意 若要以声明方式设置此属性,请使用以逗号分隔的字段名列表。 当设置了 DataKeyNames 属性时,GridView 控件用来自指定字段的值填充它的 DataKeys 集合,这提供了一种访问每个行的主键的便捷方法。注意 GridView 控件以控件状态存储这些键字段值 阅读详情

相关推荐

浅谈DataKeyNamesDataKeys

1.DataKeyNames 属性指定表示数据源主键的字段。 当设置了 DataKeyNames 属性时,GridView 控件用来自指定字段的值(数据库中表的值)填充它的 DataKeys 集合,这提供了一种访问每个行的主键的便捷方法。(因1.DataKeyNames 属性指定表示数据源主键的字段。 当设置了 DataKeyNames 属性时,GridView 控件用来自指定字段的值

Better Thinker 1335

GridView控件与DataList控件DataKeyNamesDataKeysField、DataKeys用法

GridView控件用DataKeyNames属性设置主键字段的名称,其可以是一个数组,无DataKeysField属性DataList控件用DataKeysField属性指定或者设置数据源中键字段,无DataKeysNames属性都用DataKeys属性获取属性值        dgv.DataSource = 源数据;             dgv.DataKeyNames = new st...

weixin_33920401的博客 234

datakeynames datakeys的区别

DataKeyNames可以直接在GridView属性中设置,多个字段之间用逗号分隔,如:Id,Name,Sex 。在用代码绑定GridView时,也可以设置DataKeyNames:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1 gv

lyingx03的专栏 480

DatakeyNamesDataKeys的用法

DatakeyNamesDataKeys的用法 对GridView进行删除或更新中设置DatakeyNames的值.设置后取值为GridView1.DataKeys[e.RowIndex].Values[0]. 如果没有设置成DatakeyNames,通过GridView1.Row[e.RowIndex].Cell[0].Text来得到值.dataKeystimesheet.Time

狗剩的专栏 1747

GridView的DataKeyNamesDataKeys属性

DataKeyNamespace属性:获取或设置一个数组,该数组中包含了显示 在GridView控件中的项的主键字段的名称。         DataKeys属性:获取一个DataKey对象集合,这些对象表示GridView控件中的每一行的数据的键值。        例如: 当要删除或修改GridView中的某一行信息时,需要获取当前行的关键字段的值,依据这个值在数据库中操作相应的字段。那么,

6782

【转载】DataKeyNames,DataKeys 用法浅谈

原文地址:http://www.cnblogs.com/amos/archive/2010/07/16/1778796.htmlDataKeyNames作为GridView中的一个属性,我们可以利用这个属性结合DataKeys方便的访问GridView中每个字段的值。先说怎么用DataKeyNames可以直接在GridView属性中设置,多个字段之间用逗号分隔,如:Id,Nam...

dibengpo4955的博客 144

DataKeyNamesDataKeysField、DataKeys用法

GridView控件与DataList控件DataKeyNamesDataKeysField、DataKeys用法 GridView控件用DataKeyNames属性设置主键字段的名称,其可以是一个数组,无DataKeysField属性 DataList控件用DataKeysField属性指定或者设置数据源中键字段,无DataKeysNames属性 都用DataKeys属性获取属性值

编码改变世界 2011

DataKeyNames,DataKeys 用法

DataKeyNames作为GridView中的一个属性,我们可以利用这个属性结合DataKeys方便的访问GridView中每个字段的值。 先说怎么用 DataKeyNames可以直接在GridView属性中设置,多个字段之间用逗号分隔,如:Id,Name,Sex 。 在用代码绑定GridView时,也可以设置DataKeyNames: 1 gv.DataSource = B...

weixin_33714884的博客 190

DataKeyNames,DataKeys 用法浅谈

原文地址:http://www.cnblogs.com/amos/archive/2010/07/16/1778796.html DataKeyNames作为GridView中的一个属性,我们可以利用这个属性结合DataKeys方便的访问GridView中每个字段的值。 先说怎么用 DataKeyNames可以直接在GridView属性中设置,多个字段之间用逗号分隔...

weixin_33826268的博客 97

DataKeys,DataKeyNames用法

定义了DataKeyNames,在后台调用相应的值Row_Editing事件中,string strID = this.GridView1.DataKeys[e.NewEditIndex]["id"].ToString();Row_Deleteing事件中,string strID = this.GridView1.DataKeys[e.RowIndex]["id"].ToString()

幸运儿 1192

GridView 中DataKeyNamesDataKeys

1.DataKeyNames 属性指定表示数据源主键的字段。 当设置了 DataKeyNames 属性时,GridView 控件用来自指定字段的值(数据库中表的值)填充它的 DataKeys 集合,这提供了一种访问每个行的主键的便捷方法。(因为表中的ID列一般不显示给网页上,如对表中的列更新时,就需要ID列了) DataKeyNames就是数据库表的字段,可以设置多个。注意 若要以声明方式设置...

weixin_34233421的博客 146

datakeysdatakeynames的用法!

      刚查了下留言板发现一个问题,在分页过程中,在第一页一切功能正常,在后面几页中编辑,删除都取不到正常的KEY,一直取的是第一页面的值,这个是李写的,他用到了HiddenField这个控件,隐藏了一些值,不管是第多少页的它都取的一样,汗,还算发现的早,要不周一被马主管发现了可就不得了了。查了些资料把这个BUG修复了,其中就用到了 datakeysdatakeynames也就顺便学习了下

swort_177的专栏 2686
上一篇: SqlParameter数组添加
下一篇: 关于request.querystring()的理解
Jumpy_Fly
博客等级 码龄15年 117粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值