• 締切済み

データバインドされたDatagridviewの列をコンボボックスにするには

VB2005です Datagridview(g_meisai2)のDataSourceプロパティにDataSetオブジェクトを指定したのですが、 その1列目をコンボボックスに変更したいのです。 そのコンボボックスのDataSourceも別のDataSetオブジェクトを利用したいです。 以下のように記述したのですが Dim col As System.Windows.Forms.DataGridViewComboBoxColumn = CType(g_meisai2.Columns(1), DataGridViewComboBoxColumn) 以下のようなエラーになります。 【"型 'System.Windows.Forms.DataGridViewTextBoxColumn' のオブジェクトを型 'System.Windows.Forms.DataGridViewComboBoxColumn' にキャストできません。"】 上記のような事はできないのでしょうか?

みんなの回答

  • NYOI
  • ベストアンサー率58% (56/96)
回答No.2

>でも、コンボボックスで選択されている値を、 >DataSetのそれぞれの行の値を利用したいのですが。 それならはじめから1列目をコンボボックス列として作成しておいて、 Dim col As System.Windows.Forms.DataGridViewComboBoxColumn = _ CType(g_meisai2.Columns(1), DataGridViewComboBoxColumn) col.DataSource = ○○ ~ 見たいな感じでDataSourceをセットし、それから DataGridViewの方のDataSourceをセットしてあげればよいと思います。

  • NYOI
  • ベストアンサー率58% (56/96)
回答No.1

1列目をコンボボックス列に変換するのではなく、新しく作ったコンボボックス列を1列目に加える、と言った方法はどうですか?

rabu_chihaha
質問者

補足

ありがとうございます。 そういう手がありましたか。 思った通りのイメージになりました。 表示する件数が多いと、レコードを1件づつまわして 行を追加するよりも、断然早いです。 でも、コンボボックスで選択されている値を、 DataSetのそれぞれの行の値を利用したいのですが。 方法はありますか? よろしくお願いいたします。