2011-07-22 6 views
1

こんにちはVB.NETの言語を使用して簡単なWebサイトを作成していますが、現時点で問題が発生しています。 。GridViewにバインドされたデータであるコレクションからアイテムを削除する方法

データベースに格納されているアイテムがあるときに、ホームページがロードされると、これらのアイテムが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() 

は今、これは私が上で立ち往生し、私を助けるために誰かを必要としています一部であることを行うためのコードですが、私はユーザーが行を選択できるようにしたいですグリッド選択した料金でgridviewsビルドを使用して表示し、セッションおよびgridviewからその項目を削除するボタンをクリックすることができます。

私にこれを手伝ってもらえますか? ありがとう Tim

答えて

0

CommandName = "Delete"の列があることを確認してから、RowDeletingイベントを処理してください。これはそのイベントハンドラの本体です。私は何が起こっているかをより明確にするために余分な手順を追加しました。

Dim orders as Collection = DirectCast(Session("Order"), Collection) 
orders.RemoveAt(e.RowIndex) 
+0

こんにちは、ありがとうございましたが、削除にはインデックスなどの異なる引数が必要なため、注文からordを削除できませんか? – Tim

+0

インデックスベースの削除を行うために私の答えを編集しました。私はあなたが使用しているCollectionクラスを知らないので、私は提供するメソッドの名前を知らない。 – hoodaticus

関連する問題