2010-12-14 11 views
0

私のグリッドビューは、ちょうど例外行データグリッドビューの除去を

ViewActiveJobs.Rows.RemoveAt(SelectedRow); 

を書き込むことによってsucessfully私はそれぞれを削除することができますいくつかの項目がありますが、グリッドビューで最後の(1行のみremaning)の項目を削除このdosentヘルプ.Iは持っていますこのジョブのドロップダウンリストを選択できますが、行を削除するにはアイテムを削除できますが、例外が発生しました。最後の腸を削除する

例外はprogram.csで発生します。フォームdcsは.csプログラム.csは

MDIの親とその子を実行するために

例外が 指数である-1の値を持っていない項目を削除することができるはずですデータグリッドビューを持っています。

しかし、私はremoveAt行を削除した場合に何が起こるの罰金は、レコードがデータベースで削除されたが、

+1

とは何ですか?スタックトレースはどこですか? –

+0

AllowUserToAddRowsを有効にすると、最後の行にデータがあるのか​​、これが既定の行ですか? –

答えて

0

GridViewコントロールは非常に風変わりで、サードパーティのグリッドコントロールを使用して、より良いオフにしているのフロントエンドではない取得しています。しかし、過去に遭遇したような問題に遭遇した場合、最終的なレコード削除を実行している間にグリッドビューを不可視に設定するだけで、トリックが発生する可能性があります。そのデータが「失われた」ときに表示されます。しかし、それは実際に例外が何であるかに依存します。

+0

ご質問の最新の編集では、例外は「インデックス-1に値はありません」と記載されています。ここでスタックトレースが役立ちます。しかし、これは私が過去に遭遇したことと同じように聞こえる場合もあります。削除を実行する前に、グリッドビューのVisibleプロパティをfalseに設定し、レコードを削除してから、Visibleプロパティをtrueに戻します。後で問題が発生した場合は、データソースをグリッドから切断して(不可視の状態で)、代わりにデータソースからレコードを削除して、グリッドに再接続することもできます –

関連する問題