Как удалить элемент из коллекции, данные которой привязаны к GridView - PullRequest
1 голос
/ 22 июля 2011

Привет, ребята. Я создаю простой веб-сайт на языке VB.NET, у меня возникли проблемы с одной частью в данный момент, и я действительно могу использовать некоторую помощь.

В данный момент у меня есть элементы, которые хранятся в базе данных, когда домашняя страница загружает эти элементы, они добавляются в Gridview, который позволяет пользователю выбирать элементы, которые он хочет добавить в свою корзину. Как только элемент выбран в виде сетки, он добавляется в коллекцию. Затем эта коллекция добавляется в сеанс. Вот код, который у меня есть для выполнения этой задачи.

  Public Function addToCollection() As Collection
    If Session("Order") Is Nothing Then
        colOrder = New Collection
        Session("Order") = colOrder
    Else
        colOrder = Session("Order")
    End If
    Return colOrder
End Function

Тогда этот код заполнит сессию коллекцией предметов

    addToCollection()
    Dim gvRow As GridViewRow = gvCDs.SelectedRow
    Dim objOrder As Order = New Order
    objOrder.ID = gvRow.Cells(1).Text
    objOrder.Title = gvRow.Cells(2).Text
    objOrder.Artist = gvRow.Cells(3).Text
    objOrder.Price = gvRow.Cells(5).Text
    colOrder.Add(objOrder)

    Session("Order") = colOrder

Теперь на новой странице я буду отображать, какие элементы пользователь сохранил в сеансе, помещая все элементы сеанса в Gridview. Это код для этого

  gvOrder.DataSource = Session("Order")
  gvOrder.DataBind()

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

Пожалуйста, кто-нибудь может мне помочь с этим. Спасибо Тим

1 Ответ

0 голосов
/ 22 июля 2011

Убедитесь, что у вас есть столбец с CommandName = "Удалить", затем обработайте событие RowDeleting. Это тело этого обработчика событий. Я добавил дополнительные шаги, чтобы прояснить, что происходит.

Dim orders as Collection = DirectCast(Session("Order"), Collection)
orders.RemoveAt(e.RowIndex)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...