https://zhidao.baidu.com/question/88518619.html
举个例子来说吧 你将一个student表绑定到grid上 这个表里有一些字段 包括id 姓名 学号 等等等等
grid的DataKey 属性设置了 datakey=“学号”
下边开始解释问题

GridView1.DataKeys是什么? 

GridView有一个属性是DataKey  当将数据表绑定到GridView时,设置数据表的一列为DataKey  即GridView.datakey=“学号”
msdn讲DataKey解释为 获取 DataKeyCollection 对象,它存储数据列表控件中每个记录的键值。
其实 就是将 [学号] 这列作为列关键字 列标识
e.RowIndex是什么含义? 

能够使用e.rowindex 说明 应该是grid的row相关事件  其中的e就是事件的触发者 也就是当前行 e.rowindex 也就是当前行的索引 行号 第几行的“几”
GridView1.DataKeys[e.RowIndex]是一个数组吗?

GridView1.DataKeys是一个数组 存储的是数据表中的一列的值  这一列 就是设为DataKeys的一列 即[学号]这一列 
GridView1.DataKeys[e.RowIndex]则是学号这一列这个数组中的一个值 索引为当前行的行号
也就是说GridView1.DataKeys[e.RowIndex]是当前行所对应的数据行这一行 的 学号这个datakey GridView1.DataKeys[e.RowIndex].Value是什么? 这里就是当前行所对应的数据行这一行 的 学号这个datakey 所存储的值 即当前选择这个学生的学号 GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString()

GridView1.DataKeys[e.RowIndex].Value.ToString() 的区别 是不同事件中获取当前选中行行号的不同方法
在grid的行相关事件中 可以直接用e来得到当前行 但是在非grid行事件中 作为e的事件触发对象就不是行 所以要用GridView1.SelectedIndex 来获取当前选中行的行号

GridView1.DataKeys[e.RowIndex].Value 是什么含义?的更多相关文章

  1. Asp.Net 之 获取GridView行的DataKeys

    1.后台任意一个位置获取GridView行的主键值 foreach (GridViewRow row in GridView1.Rows) { string order_Id=this.GridVie ...

  2. Gridview中Datakeys 通过主键取得各列的值。

    首先在初始化Gridview时候定义主键的数组. GridViewTeacherStudent.DataKeyNames=new string[] {"courseId",&quo ...

  3. Asp.net面试题

    Asp.net核心技术思想 1.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员.反射则提供了封装程序集.模块和类型的对象.您可以使用反射动态地创建类型的实例,将类型绑定到现有对 ...

  4. GridView/DataGrid行单击和双击事件实现代码_.Net教程

    功能: 单击选中行,双击打开详细页面 说明:单击事件(onclick)使用了 setTimeout 延迟,根据实际需要修改延迟时间 ;当双击时,通过全局变量 dbl_click 来取消单击事件的响应  ...

  5. 实现对gridview删除行时弹出确认对话框的一种简单方法

    在VS2008提供的GridView中我们可以直接添加一个CommandField删除列:<asp:CommandField ShowDeleteButton="True" ...

  6. Gridview中运用CommandField 删除控件时注意点

    我在gridview1 <编辑列>里面添加了一个<CommandField 删除>的控件,之后在gridview1的事件<RowDeleting>事件下 写了一段删 ...

  7. Subsonic简单的语法整理

    .查询方面 (查询所有数据记录[dataset读取方法]) Myuser.Query().ExecuteDataSet().Tables[]; Myuser.Query().ExecuteDataSe ...

  8. ASP。net 之view

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs&qu ...

  9. ASP.net gridview之性别

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

随机推荐

  1. c# 结构 struct

    结构是使用 struct 关键字定义的,与类相似,都表示可以包含数据成员和函数成员的数据结构. 一般情况下,我们很少使用结构,而且很多人也并不建议使用结构,但作为.NET Framework 一般型別 ...

  2. Input Team

    The Chromium Input team (aka input-dev) is a web platform team focused on making touch (P1) and othe ...

  3. caioj 1083 动态规划入门(非常规DP7:零件分组)(LIS)

    这道题题目给的顺序不是固定的 所以一开始要自己排序,按照w来排序 后来只要看l就可以了 然后求最长下降子序列即可(根据那个神奇的定理,LIS模板里有提到) #include<cstdio> ...

  4. Android项目执行时报错NoclassDefFoundError

    导Android项目时碰到个头疼的NoclassDefFoundError. 项目导入之后是没有报错的.可是执行就报这个错误 java.lang.NoClassDefFoundError: andro ...

  5. 关于Android手机MTP模式连接的一些设置(win7和ubuntu下,以红米1s为例)

    有些手机的MTP模式在电脑上识别不了,须要一些设置才干够,以下就网上收集来的一些设置方法集中贴过来: 一. win7下 參考:http://blog.ammrli.com/?p=1117 1.在设备管 ...

  6. js中arguments对象和this对象

    js中arguments对象和this属性 如果不注重复习,花时间准备的材料毫无意义 arguments对象和this对象都是对象 直接来代码 <!DOCTYPE html> <ht ...

  7. windows 手动添加服务

    windows 手动添加服务方法一:修改注册表 在注册表编辑器,展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" ...

  8. ImportError: cannot import name pxssh

    Traceback (most recent call last): File "/root/Desktop/JuniperBackdoor-master/JuniperBackdoor.p ...

  9. vuex 快速入门( 基于vue2.0,vue1.0未知可否)

    1.原理概述 2.用户登录例子解析: 由上图可以看到: 1.组件的数据是username,我们把它以name放在state中: 2.更改name发生在mutations的回调里,事件名字是showUs ...

  10. HTML中常用的部分标签(一)

    [常见的块级标签] 标题标签<h1></h1>...<h6></h6> 水平线<hr/> 段落<p></p> 换行& ...