删除具有多个主键的Datalist行


4

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

我想删除一个记录与多个主键,但我不知道如何从Delete_Command事件访问它。

如果我使用DataKeyField,我只限于一个键。 对此有任何解决方法?

1

您可以访问所有的键:

gridView.DataKeys[rowNum][dataKeyName] 

其中rownum值为e.RowIndex从gridView_RowDeleting事件处理程序,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"]... 
} 

0

哦,对不起,我错过了。

AFAIK默认情况下没有这种可能性。也许你可以创建从你的主键组合键,像

Key1UnderscoreKey2UnderscoreKey3

,并在事件处理程序拆分。所以这是一个DataList的DIY多键处理程序:-)

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