- PR -

C#のDataGridViewでコントロールの変更

1
投稿者投稿内容
とろっち
会議室デビュー日: 2006/11/15
投稿数: 2
投稿日時: 2006-11-15 16:48
何時も拝見させて頂いております。最近C#をやり始めた初心者です。
今回初めて投稿させて頂きますが、お聞きしたい内容は
DataGridViewでコントロールの変更に関してです。

現在DataGridViewTextBoxColumnで設定しているカラムが有ります。
それを動的にDataGridViewComboBoxColumnに変更したいのですが、
その方法が良く分かりません。

どなたか御存知の方が居られましたら、御教示お願い致します。
ダッチ
大ベテラン
会議室デビュー日: 2005/10/31
投稿数: 113
投稿日時: 2006-11-15 22:11
普通にやったのでは列のタイプを別の列に変更することはできないと思います。

そのため、動的に列のタイプを切り替えるのではなく
・DataGridViewTextBoxColumn
・DataGridViewComboBoxColumn
の二つの列を用意しておいて、それの表示/非表示を切り替えるようにしてみてはどうでしょうか。
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-11-16 09:35
引用:

とろっちさんの書き込み (2006-11-15 16:48) より:

現在DataGridViewTextBoxColumnで設定しているカラムが有ります。
それを動的にDataGridViewComboBoxColumnに変更したいのですが、
その方法が良く分かりません。


どのような動きをさせたいのでしょう?

ご質問の内容に対して、そのまま回答しようとすると、僕もダッチさんの仰る方法が良いと思うのですが、どういうシーンでこのような要求がでるのか少し気になりました。

普通のコンボボックスのように、入力できて選択もできるようなものが欲しいというのなら納得できますが^^;
_________________
R・田中一郎 -  R.Tanaka.Ichiro’s Blog
とろっち
会議室デビュー日: 2006/11/15
投稿数: 2
投稿日時: 2006-11-17 16:25
R・田中一郎様、ダッチ様
ご返事が遅くなり大変申し訳有りませんでした。
同時にご回答有難う御座いました。

質問の仕方が悪くて申し訳有りませんでした。
詳しく内容をご説明しますと、DB上から取得したデータをDataGridViewに
表示させるのですが、DBから取得したデータ項目に関しては変更付加でTEXTBox形式で
表示させ、新規に追加したい時はComboBox形式にしたいのです。

出来ればVisualStudioのプロパティウィンドのように、
表示してる時はプレーンテキスト、項目をクリックするとリスト表示
のように出来ればさらに良いのですが・・・。

参考になるサイトなどでも良いので、有れば教えて頂ければ幸いです。
ダッチ
大ベテラン
会議室デビュー日: 2005/10/31
投稿数: 113
投稿日時: 2006-11-19 10:46
新規で入力するときに ComboBox 形式のリストからしか選択しないのであれば、
列を DataGridViewComboBoxColumn に設定していて
DB から取得した場合はセルを ReadOnly にすればそのセルだけ編集不可になります。

あとは列の表示方法を DataGridViewComboBoxDisplayStyle.Nothing などにしておけば見た目はテキスト形式、編集時は ComboBox のように振舞うことができます。

私にはそれぐらいしか思い浮かびませんでした。
1

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