- 締切済み
データバインドされた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' にキャストできません。"】 上記のような事はできないのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- NYOI
- ベストアンサー率58% (56/96)
>でも、コンボボックスで選択されている値を、 >DataSetのそれぞれの行の値を利用したいのですが。 それならはじめから1列目をコンボボックス列として作成しておいて、 Dim col As System.Windows.Forms.DataGridViewComboBoxColumn = _ CType(g_meisai2.Columns(1), DataGridViewComboBoxColumn) col.DataSource = ○○ ~ 見たいな感じでDataSourceをセットし、それから DataGridViewの方のDataSourceをセットしてあげればよいと思います。
- NYOI
- ベストアンサー率58% (56/96)
1列目をコンボボックス列に変換するのではなく、新しく作ったコンボボックス列を1列目に加える、と言った方法はどうですか?
補足
ありがとうございます。 そういう手がありましたか。 思った通りのイメージになりました。 表示する件数が多いと、レコードを1件づつまわして 行を追加するよりも、断然早いです。 でも、コンボボックスで選択されている値を、 DataSetのそれぞれの行の値を利用したいのですが。 方法はありますか? よろしくお願いいたします。