Hatena::ブログ(Diary)

Kazzzの日記 このページをアンテナに追加 RSSフィード

2006-06-16

[]ComboBoxとDataGridViewComboBoxColumnを同期させる


まさか、こんなことがすんなりできないなんて思わなかった。以下、順を追って作業。

  • ComboBoxとDataGridViewが配置されたFormを用意する

f:id:Kazzz:20060616225842p:image
ComboBoxはgendersComboBox、DataGridViewはgenderDataGridViewというベタな名前にする。

IList<GenderItem> genders = new List<GenderItem>();
genders.Add(new GenderItem(0, "男"));
genders.Add(new GenderItem(1, "女"));
  • オブジェクトをComboBoxにバインドする
this.gendersComboBox.DataSource = genders;
this.gendersComboBox.DisplayMember = "Name";
this.gendersComboBox.ValueMember = "Value";
  • オブジェクトをDataGridView(DataGridViewComboBoxColumn)にバインドする
DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();
this.genderDataGridView.Columns.Add(column);
column.DataSource = genders;
column.DisplayMember = "Name";
column.ValueMember = "Value";

と組んでビルドして起動する。
f:id:Kazzz:20060616230935p:image
いきなり駄目だ。同じデータソースを参照しているはずなのに、ComboBoxの指しているアイテムはDataGridViewのカラムと同期している以前に表示されてもいない。スクリーンショットでは解らないが、DataGridViewComboBoxColumnのComboBoxの内容を変更しても、うんともすんとも言わない。

    • 4時間経過 --

結局解決策まで行き着いたのだが、今日はもう眠いのでまた明日に。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Kazzz/20060616/p2