2008-08-21 31 views
4

我有一個OnDeleteCommand =「Delete_Command」的數據列表。刪除具有多個主鍵的Datalist行

我想刪除一個記錄與多個主鍵,但我不知道如何從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多鍵處理程序:-)

編輯:下劃線在格式化過程中丟失了,它用斜體文本取代。因此,而不是「下劃線」字使用真正的下劃線