- R・田中一郎
- ぬし
- 会議室デビュー日: 2005/11/03
- 投稿数: 979
|
投稿日時: 2006-04-07 16:55
DataGridView 上に、番号・名称の桁があるとして、末尾の行(新しい行)の番号項目
に番号の値を入力した際に、DataGridView_CellBeginEdit イベントにて、以下のコ
ードを実行しています。
コード: |
|
DataSet d = this.MyTableBindingSource.DataSource;
d.MyTable.AddMyTableRow((int)入力された番号, "名前の初期値");
d.MyTableTableAdapter.Update(d.MyTable);
|
すると DataGridView の画面の末尾に、今しがた入力した行が2行表示されます。
こんな感じです。
コード: |
|
1.初期状態
・−・−−−−−・−−−−−−−−−−・
| |番号 |名称 |
・−・−−−−−・−−−−−−−−−−・
| | 10|カップラーメン |
・−・−−−−−・−−−−−−−−−−・
| | 20|カップやきそば |
・−・−−−−−・−−−−−−−−−−・
| | 30|カップうどん |
・−・−−−−−・−−−−−−−−−−・
| | 40|カップスープ |
・−・−−−−−・−−−−−−−−−−・
|*| | |
・−・−−−−−・−−−−−−−−−−・
2.入力している最中
・−・−−−−−・−−−−−−−−−−・
| |番号 |名称 |
・−・−−−−−・−−−−−−−−−−・
| | 10|カップラーメン |
・−・−−−−−・−−−−−−−−−−・
| | 20|カップやきそば |
・−・−−−−−・−−−−−−−−−−・
| | 30|カップうどん |
・−・−−−−−・−−−−−−−−−−・
| | 40|カップスープ |
・−・−−−−−・−−−−−−−−−−・
| | 55| |←元々*だった行。55と入力した。
・−・−−−−−・−−−−−−−−−−・
|*| | |←何か文字を入力した時点で1行増える。
・−・−−−−−・−−−−−−−−−−・
3.入力が終わったところ(Enter or 他のセルへ移動)
・−・−−−−−・−−−−−−−−−−・
| |番号 |名称 |
・−・−−−−−・−−−−−−−−−−・
| | 10|カップラーメン |
・−・−−−−−・−−−−−−−−−−・
| | 20|カップやきそば |
・−・−−−−−・−−−−−−−−−−・
| | 30|カップうどん |
・−・−−−−−・−−−−−−−−−−・
| | 40|カップスープ |
・−・−−−−−・−−−−−−−−−−・
| | 55| |
・−・−−−−−・−−−−−−−−−−・
| | 55| |←この行が余計。
・−・−−−−−・−−−−−−−−−−・
|*| | |
・−・−−−−−・−−−−−−−−−−・
|
どうすれば、2行になるのを防げるのでしょうか?
|
- じゃんぬねっと
- ぬし
- 会議室デビュー日: 2004/12/22
- 投稿数: 7811
- お住まい・勤務地: 愛知県名古屋市
|
投稿日時: 2006-04-07 17:05
引用: |
|
R・田中一郎さんの書き込み (2006-04-07 16:55) より:
末尾の行(新しい行)の番号項目に番号の値を入力した際に、
|
この時点で 1 行追加。
引用: |
|
DataGridView_CellBeginEdit イベントにて、以下のコードを実行しています。
d.MyTable.AddMyTableRow((int)入力された番号, "名前の初期値");
|
ここでも 1 行追加されているからじゃないでしょうか?
_________________ C# と VB.NET の入門サイト
じゃんぬねっと日誌
|
- Kazuki
- ぬし
- 会議室デビュー日: 2004/10/13
- 投稿数: 298
|
投稿日時: 2006-04-07 17:40
DataSetとDataGridViewは、どちらかに変更があったら
お互いに同期とってくれるので明示的に追加する必要とか
無いんですよ。
|
- R・田中一郎
- ぬし
- 会議室デビュー日: 2005/11/03
- 投稿数: 979
|
投稿日時: 2006-04-07 18:17
引用: |
|
Kazukiさんの書き込み (2006-04-07 17:40) より:
DataSetとDataGridViewは、どちらかに変更があったら
お互いに同期とってくれるので明示的に追加する必要とか
無いんですよ。
|
そうだったんですか。
実は先日、型付DataSetが便利だと聞いて使ってみているわけですが、更新や削除関係
の処理は自分で書くのだと勘違いして、イベントを捕まえて追加・更新・削除処理ま
で一気に書いてしまいました。orz
ありがとうございました。
|