删除具有多个主键的Datalist行

时间:2008-08-21 07:13:24

标签: asp.net

我有一个带有OnDeleteCommand =“Delete_Command”的数据列表。

我希望删除包含多个主键的记录,但我不知道如何从Delete_Command事件中访问它。

如果我使用DataKeyField,我只限于一个键。 有没有解决方法呢?

2 个答案:

答案 0 :(得分:1)

您可以访问所有密钥:

gridView.DataKeys[rowNum][dataKeyName]

其中rowNum是来自gridView_RowDeleting事件处理程序的e.RowIndex,而dataKeyName是您想要获取的键:

<asp:GridView ID="gridView" runat="server" DataKeyNames="userid, id1, id2, id3" OnRowDeleting="gridView_RowDeleting">

protected void gridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    gridView.DataKeys[e.RowIndex]["userid"]...
    gridView.DataKeys[e.RowIndex]["id1"]...
    gridView.DataKeys[e.RowIndex]["id2"]...
    gridView.DataKeys[e.RowIndex]["id3"]...
}

答案 1 :(得分:0)

哦,对不起,我错过了。

AFAIK默认没有这种可能性。也许你可以用主键创建一个复合键,比如

  

Key1UnderscoreKey2UnderscoreKey3

并将其拆分为事件处理程序。所以这是DataList的DIY多键处理程序: - )

编辑:下划线在格式化过程中丢失了,它取代了斜体文本。因此,而不是“下划线”一词使用真正的下划线