删除具有多个主键的数据列表行
时间:2020-03-05 18:41:24 来源:igfitidea点击:
我有一个带有OnDeleteCommand =" Delete_Command"的数据列表。
我想要删除具有多个主键的记录,但是我不知道如何从Delete_Command事件访问它。
如果我使用DataKeyField,则只能使用一个键。
有任何解决方法吗?
解决方案
回答
我们可以访问所有键:
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"]... }
回答
哦,对不起,我错过了。
AFAIK默认情况下没有这种可能性。也许我们可以从主键创建组合键,例如
Key1UnderscoreKey2UnderscoreKey3
并在事件处理程序中将其拆分。因此,这是DataList的DIY多键处理程序:-)
编辑:下划线在格式化过程中丢失了,它替换为斜体文本。因此,请使用真实的下划线代替"下划线"一词