Удаление строки в представлении данных - PullRequest
0 голосов
/ 17 мая 2011

Я хочу удалить строку в Gridview, которая находится на панели обновления. Но вместо командной кнопки, я взял кнопку ссылки, чтобы получить подтверждающее сообщение. Теперь, если я нажму ok, тогда запись должна быть удалена (как из db, так и из girdview). Я знаю, как удалить из базы данных, но не при нажатии кнопки ссылки и удаления записи. А также вид сетки находится в панели обновления. Это должно быть отражено.

Пример кода приветствуется.

Спасибо

Ответы [ 5 ]

3 голосов
/ 17 мая 2011
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Delete")
    {
        GridViewRow row = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
        String productId = row.Cells[0].Text; // I suposed your product Id in very first column in gridview
        //Delete Code goes here..........
        ...........................
    }
}
1 голос
/ 17 мая 2011

вы можете использовать RowCommand событие gridview, например ...

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Delete")
    {            
        e.CommandArgument  -- this return Data Key Value
//Deletion Code goes here.....
var brochureToDelete = (from b in dataContext.ArticleBrochures where b.ArticleId == ArticleId select b).FirstOrDefault(); 
if (brochureToDelete != null) 
{ 
dataContext.ArticleBrochures.DeleteOnSubmit(brochureToDelete);
dataContext.SubmitChanges(); 
bindBrochureGridView(ArticleId);
// if your gridview in updatepanel
//Call update method of UpdatePanel
//UpdatePanel.Update();
 }
}
0 голосов
/ 17 мая 2011

Полагаю, у вас есть метод, который отправляет запрос на удаление.

Создайте обработчик событий RowDeleting, передайте индекс строки с помощью e.RowIndex методу удаления.

Используйте это e.RowIndex, чтобы написать запрос для удаления n-й строки таблицы. а затем привяжите данные к вашему gridView.

0 голосов
/ 17 мая 2011

привязать идентификатор кнопки ссылки в качестве первичного ключа.При нажатии на кнопку связи с клиентом сохраните этот идентификатор в скрытом поле.Это значение скрытого поля будет идентификатором удаляемой строки.

Затем на сервере нажатием кнопки ссылки удалите строку, соответствующую значению скрытого поля

0 голосов
/ 17 мая 2011

Установите PK_ID, чтобы связать командные аргументы кнопки таким образом

<asp:LinkButton runat="server" ID="btn_manage" Text="Delete" CommandArgument='<%#Eval("PK_ID") %>'
                                OnCommand="btn_manage_click">
</asp:LinkButton>

и получить доступ к PK_ID при событии

protected void btn_manage_click(object sender, CommandEventArgs e)
{
    string ID = e.CommandArgument.ToString();

    //you delete code and gridview bind code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...