取得GridView某行的DataKey

首先绑定DataKeyNames 
GridView.DataKeyNames = new string[] { "
字段名称" }; 
取值 

string aaa= GridView.DataKeys[e.Row.RowIndex].Value.ToString();

1
、在绑定时设置主键: 
//设置主键; 

      
  GridView1.DataKeyNames = new string[] { "id" }; 
        GridView1.DataBind(); 
2、获取键值:
 
 GridView1.DataKeys[e.RowIndex].Value.ToString();

按钮事件里添加 
string str_dk= GridView1.DataKeys[e.Row.RowIndex].Value.ToString();

如果GridView控件的DataKeyNames属性设置了表的两个字段(SubjectID,Mode),那么在为GridView绑定数据时对库表的每个记录的指定字段值要作出判断。后台代码中的e.Row.RowIndex即表示GridView的当前行(对应于库表的当前记录);而View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString()则获取当前行指定字段(Mode) 的值。若前台代码只写:DataKeyNames="SubjectID'(DataKeyNames属性只填入一个字段名),则后台只需写成:View1.DataKeys[e.Row.RowIndex].Value.ToString()) 即可。 
  同样的,要动态获取当前行另一个字段的值可以这样写:View.DataKeys[e.Row.RowIndex].Values["SubjectID"].ToString())


ps:
gridview使用rows可以获得所有行,但要获取某行某列的数据比较麻烦,因为单元格中可能会有TextBox或Label之类的控件,还需要查找控件

DataKeys是这样的,可以用DataKeyNames指定某些列名,GridView 自动为每一行创建一个 DataKey 对象,这个对象包含这几个列的值,取数据的时候就简单了gridview. DataKeys[行号].Values["列名或列号"]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值