DataKeys[E.Item.ItemIndex] 的问题 :)
一个表的结构如下:
name //姓名
sex //性别
id //编号
将数据绑定在DataGrid中,界面如下:
姓名 性别 编号
修改 张三 男 1
修改 李四 男 2
修改 李四 女 3
修改 王五 男 4
点修改按钮时,我们需要获得记录的主键(在此例中,就是“编号”)
见过一种范例,是这么获得数据表的主键的:
myCommand.Parameters["@id"].Value =MyDataGrid.DataKeys[(int)E.Item.ItemIndex];
但我显示 DataKeys[E.Item.ItemIndex],发现是:
张三
李四
李四
王五
即最左边的一列
在这个例中,还可用 E.Item.Cell[2] 来获得编号
但如果显示的是:
姓名 性别
修改 张三 男
修改 李四 男
修改 李四 女
修改 王五 男
不知道怎么来获得id?
问题点数:50、回复次数:8Top
1 楼webdiyer(.net资源精华—www.dotneturls.com)回复于 2004-09-03 11:54:20 得分 20
把DAtaGrid的DataKeyField设为你的“编号”列,然后就可以用DataKeys[E.Item.ItemIndex]这种方法来获得编号了。Top
2 楼pingnt(淡蓝色的雪)回复于 2004-09-03 12:07:31 得分 5
DAtaGrid的DataKeyField设为你的“编号”列,然后就可以用DataKeys[E.Item.ItemIndex]这种方法来获得编号了。Top
3 楼noahart(八卦小子)回复于 2004-09-03 12:10:17 得分 5
同意!Top
4 楼xulovewei(CrazyXu520)回复于 2004-09-03 12:11:36 得分 10
可以使用隐藏列,将编号列隐藏,然后根据e.Item.Cell[index]来引用Top
5 楼happya3000(清凉油)回复于 2004-09-03 15:00:18 得分 0
怎么把 DAtaGrid的DataKeyField设为你的“编号”列?
能举个例吗Top
6 楼happya3000(清凉油)回复于 2004-09-03 15:05:46 得分 0
哦,DAtaGrid有一个属性,就是DataKeyField,直接赋上值,就可以了是吗?Top
7 楼jinglelin(碧海蓝天)回复于 2004-09-03 15:23:42 得分 5
DAtaGrid.DataKeyField = 编号Top
8 楼jamzh(Show me the money!!!)回复于 2004-09-03 15:32:05 得分 5
就是你在数据库中的ID字段的字段名称设置为DAtaGrid的DataKeyField属性
如:
userid name
1 a
把userid设置为DataKeyField就可以,取的时候就
DAtaGrid.DataKeys[e.Item.ItemIndex]Top




