添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
无聊的汉堡包  ·  Drivers Details·  1 周前    · 
含蓄的眼镜  ·  Redis -- ...·  10 月前    · 
坏坏的红茶  ·  The builds on ...·  1 年前    · 

当我们在GridView中想实现删除功能时,有两种方法
(具体可见我以前的blog “GridView经典删除操作,两种方法”一文 http://blog.csdn.net/spring21st/archive/2007/10/18/1831108.aspx ),


当我们使用设置GridView的DataKeyNames方法时,当是多张表关联的时候,我们就必须设置多个DataKeyNames
此时,在
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
dt.SpecialtyID = (int)GridView1.DataKeys[e.RowIndex].Value;
……
}获取主键的方法只能获取到一个。
此时,我们采取另外一种方法,不使用GridView控件的可视化编辑DataKeyNames,
在对GridView进行初始化时,加上
GridView1.DataKeyNames = new string[] { "specialtyid", "courseid" };

注意 :必须是string类型,后面的specialtyid,courseid是关联表的主键

在获取的时候我们就可以分别得到所需要的值
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
dt.SpecialtyID = Int32.Parse(GridView1.DataKeys[e.RowIndex]["specialtyid"].ToString());
dt.CourseID = Int32.Parse(GridView1.DataKeys[e.RowIndex]["courseid"].ToString());
……
}

因为我这里要求主键使用的是int类型,所以要进行类型转换。

参考网站:
关于GridView的多个主键字段设置问题
http://whx.tzgt.gov.cn/newOperate/html/1/11/111/478.html

当我们在GridView中想实现删除功能时,有两种方法(具体可见我以前的blog “GridView经典删除操作,两种方法”一文 http://blog.csdn.net/spring21st/archive/2007/10/18/1831108.aspx),当我们使用设置GridView的DataKeyNames方法时,当是多张表关联的时候,我们就必须设置多个DataKeyNames此时,在
Data Grid中,要实现这个功能,隐藏列来存储键值是必须的,甚至是一个初学者需要摸索才能知道的技巧 Data Key Names 取或 设置 一个数组,该数组包含了显示在 GridView 控件中的项的主键字段的名称。 Data Key s: 取一个 Data Key 对象集合,这些对象表示 GridView 控件中的每一行的数据键值。 看到这里,也许你会有所明白,针对批量选中操作的问题,...
虽然这不是一个很难的问题,但是是自己第一次遇到,所以就记录下来。 当我们在用 GridView 实现删除某一行的时候,由于该表 gridview 绑定的是一张由两个或者 多个 键做组合主键或者多张表关联的时候。。。我们就不能用传统的 GridView 1. Data Key s[e.RowIndex].Value来 取值 。 那么我们就应该这样。。。 在初始化 Data Key Names 时: GridView 1...
Data Key Names ='FID'   //前台绑定一个值 GridView 1. Data Key s[e.Row.RowIndex].Value.To String ; --------------------------------------------------------------------------------------------------------------------
Data Key Names pace属性: 取或 设置 一个数组,该数组中包含了显示 在 GridView 控件中的项的主键字段的名称。 Data Key s属性: 取一个 Data Key 对象集合,这些对象表示 GridView 控件中的每一行的数据的键值。        例如: 当要删除或修改 GridView 中的某一行信息时,需要 取当前行的关键字段的值,依据这个值在数据库中操作相应的字段。那么,
// 假设你的 GridView 控件的 ID 是 gridView 1 GridView Row firstRow = gridView 1.Rows[0]; TableCell firstCell = firstRow.Cells[0]; string cellValue = firstCell.Text; 首先,我们 GridView 的第一行(索引为 0),然后 取该行的第一个单元格(索引为 0),最后 取单元格的文本值。 请注意,如果 GridView 中没有任何行或单元格,或者第一个单元格没有文本值,那么上述代码可能会引发异常。在使用之前,请确保 GridView 中至少有一行,并且第一个单元格包含文本值。