- PR -

DataGridView でコンボ型のカラムを使い、動的にデータソースを切り替えたい

1
投稿者投稿内容
Shane
大ベテラン
会議室デビュー日: 2003/06/06
投稿数: 132
お住まい・勤務地: Vancouver, BC
投稿日時: 2008-10-25 06:55
DataGridView にて、2つのカラムを使っています。

カラム1は部署、カラム2は社員とします。
それぞれデータベースのテーブルに登録されているので、それぞれコンボボックスを使います。
社員は1つの部署に所属しています。

処理の流れとしては、カラム1の部署をユーザーが選択すると、その部署に所属する社員データが LINQ to SQL を通して取得され、カラム2のデータセットに設定されます。

1行目が選択されるまではまったく問題ありません。データも正常に登録されます。しかし、2行目のカラム1に1行目とは違う部署を選択した時点でカラム2が他のデータに再設定されると、1行目で選択した社員が2行目の部署に所属しないため、選択したデータが未選択の状態になってしまいます。

このような現象を回避するにはどのように対応すればよろしいでしょうか?

[ メッセージ編集済み 編集者: Shin 編集日時 2008-10-25 06:56 ]
テッテ
ベテラン
会議室デビュー日: 2008/03/16
投稿数: 91
投稿日時: 2008-10-27 13:09
どのイベントにどういうコードを書いているのかわかりませんが、DataGridViewComboBoxColumn の DataSource を設定していませんか?

DataGridViewComboBoxColumn の DataSource は全行共通の DataSource になります。行ごとにリストを変えたい場合には DataGridViewComboBoxCell の DataSource を設定する必要があると思います。
Shane
大ベテラン
会議室デビュー日: 2003/06/06
投稿数: 132
お住まい・勤務地: Vancouver, BC
投稿日時: 2008-10-28 01:39
テッテさん、

そのとおりでした。DataGridViewComboBoxCell の DataSource を設定することで目的の処理が達成できました。

ご回答ありがとうございました。
1

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