グリッドとデータセットオブジェクトが接続されています。そして、LINQで動作するデータレイヤー。そのため、グリッドで削除された要素をLINQデータソースから削除する必要があります。
DataRowアイテムをLINQアイテムに変換するメソッドがあります。例えば:
DataRow forDelete = ...;
LinqItem itemForDelete = ConvertFromDataRow(forDelete);
dataContext.DeleteOnSubmit(itemForDelete);
このコードは例外をスローします。これは、テーブルにアタッチされていないアイテムを削除することはできません。しかし、私がそれをに変更した場合
DataRow forDelete = ...;
LinqItem itemForDelete = ConvertFromDataRow(forDelete);
dataContext.Attach(itemForDelete)
dataContext.DeleteOnSubmit(itemForDelete);
すでに存在するアイテムを添付できないという例外をスローするよりも。
その場合、どうやってアイテムを正しく取り付けるかが問題になります。それで問題は解決するはずです。