初歩的な質問で申し訳ありません。
以下の2種類のテーブルを使って、DataGridViewへデータを表示する事は成功しました。
DataGridViewは、ID, 名前, クラスの3列で構成され、クラスはT_クラスで作ったComboBoxです。
テーブル構成は以下の通りです。
①T_生徒
番号, 名前, クラス番号
1, 山田太郎, 1
2, 佐藤次郎, 2
②T_クラス
番号, クラス
1, A
2, B
その後、DataGridViewの値を更新してUpdate()を実行したところ、[名前]は更新され、[クラス]は更新されずにいました。
そこで質問になりますが
①DataGridViewの中にあるComboBoxの値も、Updateコマンドで更新等はできるのでしょうか。
②対象のComboBoxのデータ構成を、以下にしてUpdateCommandを作成したとします。
CommandText = "UPDATE T_生徒 SET [名前] = @Name, [クラス] = @class WHERE [ID] = @ID";
ValueMember = "番号"
DisplayMember = "クラス"
cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 10, "名前")
cmd.Parameters.Add("@class", SqlDbType.Int, 4, "クラス")
cmd.Parameters.Add("@ID", SqlDbType.Int, 4, "番号")
→第4引数は、DataGridViewの列名と同じにしています。
②ComboBoxが変更された事を、DataSetのHasChanges()で調べようと思いましたが、
変更箇所がComboBoxの中だけだと、更新は無かった扱いになります。更新したと判定してくれる条件や関数等、何か良い方法はありますでしょうか。
以上、説明が分りにくくて申し訳ありませんが、何卒よろしくお願いします。