- PR -

DataGridView→DataSorce(DataTable)へのリンク

1
投稿者投稿内容
NVL
常連さん
会議室デビュー日: 2006/04/03
投稿数: 45
投稿日時: 2007-11-21 21:05
いつもお世話になっております。
WinXP(Pro)、VB2005で開発しております。

(質問)
DataGridViewのDataSouceプロパティにDBから取得したDataTableをセットして
表示しています。
DataGridView.Rows.RemoveAtメソッドによって、ユーザが指定した行を削除する
時に、同時に、DataSourceで指定しているDataTableの行も削除したいのですが、
DataGridViewRowとDataRowを関連付ける方法がわかりません。
どうぞよろしくご教授願います。
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2007-11-21 23:10
DataSouceにDataTableをセットした時点で関連付けられています。
仮に画面から削除しているのであればその行のRowStateがDataRowState.Deletedになると思います。
NVL
常連さん
会議室デビュー日: 2006/04/03
投稿数: 45
投稿日時: 2007-11-21 23:22
GENZO様 ご回答いただき有難うございます。

AcceptChangesメソッドを実行したら自分の望んでいた通りの動きになりました。
グリッドで行を削除したあとにDataTableの行数が変わっていないことに気がついて、
パニックになっていました。RowStateはちゃんとDeletedになっていたんですね。
DataTableに関して、「ただのリスト」的な使い方しかしていなかったために、
DataTableの性質まで意識が及びませんでした。

お騒がせ致しました。
1

スキルアップ/キャリアアップ(JOB@IT)