0

BindingSourceControlを介してwinformsdataGridViewにバインドされたデータテーブルがあります。dataGridViewからUserDeletingRowイベントを処理し、dataTableの行を削除済みとしてマークできるようにしたい。次に、[保存]ボタンがクリックされたときにデータベースから削除できるように、データテーブルから削除済みとしてマークされた行を取得できるようにする必要があります。UserDeletingRowを起動するたびにデータベースから削除したくないので、データセットでその行を削除済みとしてマークするだけです。

誰かがこれを行う方法を指摘できますか?

4

2 に答える 2

2

これを行うために私が見つけた最善の方法は、編集を開始する前にdataTable / datasetでAcceptChanges()を呼び出すことです。これは、データがグリッドにバインドされたときにフォームの読み込み時に行いました。これで、ユーザーがグリッドを介してレコードを削除してから「保存」を押すと、dataTableの行を行のrowStateでフィルタリングして、削除された行を取得できます。dataTableのrowsコレクションのCountプロパティは、ユーザーが行を削除するたびに1つずつ減少しますが、その行はまだdataTableにあり、削除のマークが付けられていることに注意してください。

于 2010-05-10T15:12:56.797 に答える
1

コレクション内の「削除される」rowIdをキャプチャし、メソッドを作成してコレクションを渡し、レコードの削除を処理します。

于 2010-04-27T15:59:23.787 に答える