プロフィール
C#/VB.net

DataGridviewでComboboxのSelectedValueの値を設定する

今回は「DatagridViewにあるComboboxのSelectedValueの設定」です。

普通のコンボボックスでSelectedValueを設定するのはプロパティからすぐに選択できます。

が、…データグリッドビューでDataTableをバインド後、どうすればいいのか困ったことがありました。

実装中にあれば良いなと思ったので、ここに載せておきます。

 

書き方は

どんな書き方かというと。

DatagridView[column, row].Value = intSelectedValue;

これだけです!
初めはずっとデータグリッドビューのSelected~プロパティを探していて、見つからず困っていました…
以外に簡単でしたね^^;

そもそもですが、データグリッドビューのコンボボックスには、

SelectedValueは存在せず、ValueMemberの値になるのです。

VBA C# オススメ参考書プログラミングの参考書でオススメの紹介をしていきます。 それぞれ私が使っている言語のみです。 VBAのオススメ参考書をExc...

ValueMemberとは?

 

そもそもですが、データグリッドビューのコンボボックスには、

コンボボックスはDisplayMemberとValueMemberで構成されています。
簡単に説明するとDisplayMemberは表示用、ValueMemberは内部管理のコードです。
例えば、下のような月曜~金曜まで選べるコンボボックスがあったとします。

 

このコンボボックスは以下のようにな構成です。
ValueMember DisplayMember
1 月曜日
2 火曜日
3 水曜日
4 木曜日
5 金曜日
コードとコードに対する名称が構成されているということですね。

 


サンプルソース

試しにこんなアプリを作ってみました。

 

ボタンを押すと、データグリッドビューのコンボボックスの

 

ValueMember(SelectedValue)へ反映

 

 

①フォームロード時

フォームロード時にデータグリッドビューのコンボボックスへ

ValueMemberとDisplayMemberをセットします。

②ボタン押下時

ボタンをクリックすると、コンボボックスのValueMember(SelectedValue)へ

テキストボックスに入力した数字を反映します。

動かしてみます。

ボタンクリック前

テキストボックス3を入力して、ボタンクリック後

 

ValueMember:3に対応した、

DisplayMember:水曜日が表示されましたね。

 

実際に作成したファイルはYahooBoxにアップしておくので、よければご参考にどうぞ。

https://yahoo.jp/box/vi5c-8

 

参考にできるサイトはほかにもあったので、ここだけで不十分であれば
こちらのサイトも見てみてください。
http://qa.atmarkit.co.jp/q/281
https://code.i-harness.com/ja/q/117760b

今回はここまでです。

 

<参考URL>
・DataGridView と DataTable と Combobox(コンボボックス)
http://http://blog.syo-ko.com/?eid=524
・DataGridView内のComboBox – QA@IT
http://qa.atmarkit.co.jp/q/281

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です