Удалить строку Datalist с несколькими первичными ключами - PullRequest
4 голосов
/ 21 августа 2008

У меня есть список данных с OnDeleteCommand = "Delete_Command".

Я хочу удалить запись с несколькими основными ключами, но я не знаю, как получить к ней доступ из события Delete_Command.

Если я использую DataKeyField, я ограничен только одним ключом. Есть ли обходные пути для этого?

Ответы [ 2 ]

1 голос
/ 21 августа 2008

Вы можете получить доступ ко всем ключам:

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 голосов
/ 21 августа 2008

Ой, прости, я пропустил это.

AFAIK по умолчанию такой возможности нет. Может быть, вы можете создать составной ключ из ваших первичных ключей, например

Key1UnderscoreKey2UnderscoreKey3

и разделить его в обработчике событий. Так что это многофункциональный обработчик для DataList: -)

Редактировать: подчеркивание потеряно во время форматирования, оно заменяется курсивом. Поэтому вместо слова «подчеркивание» используйте настоящие подчеркивания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...