質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

1回答

6805閲覧

DataGridViewにデータバインドする時、自動生成される列の型について

kikiinu

総合スコア21

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2018/01/03 09:35

いつもお世話になっております。
いつも回答して頂き助かっています

開発環境は以下の通りです
VS2017
NETFramework,Version=v4.5.21

タイトルのとおりなのですがデータバインドされたときに
DataGridViewComboBoxColumnで列を自動生成してほしいのですが
できません。

以下のURL
https://msdn.microsoft.com/ja-jp/library/bxt3k60s(v=vs.110).aspx
を見るとコンボボックスは自動生成されないのですが
URL内に
「また、任意の列クラスのインスタンスを独自に作成し、Columns プロパティによって返されたコレクションに追加することもできます。 作成したこれらのインスタンスは、非バインド列として使用することも、手動でバインドすることもできます。 手動バインド列は、たとえば、自動生成されたある型の列を、別の型の列に置き換える場合に便利です。」

と言う、記述があり別の型の列に置き換えれるような表現が見られます。
実際にそのようなことはできるのでしょうか?
また、どのタイミングでするのかわからなくて質問指せていただきました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

デザイン時にプロパティエディタの Columns を編集してください。
ただここで書いてあるのはバインドされたデータと無関係な列を追加する方法です。

追記

見誤りました。
コードで追加するなら DataSource が設定された後でいいと思います。
実際の方法は今実行環境が無いので後で見てみます。

追記

できました。
Visual Studio 2017 です。
次のようにしました。

Windows Forms プロジェクトを作ります。
Form1 に DataGridView を貼り付けます。
Form1 のプロジェクトソースを新規に作成して DataGridView の DataSource に入れます。
DataGridView の Columns を編集します。
Text 列の ColumnType を DataGridViewComboBoxColumn にします。
Items に適当な文字列を複数行入れます。
Form1_Load に form1BindingSource.DataSource = this; と書きます。
実行し、Text 列がコンボボックスであること、選択肢を選択してから別のセルを選択することでフォームタイトルが変わることを確認しました。

投稿2018/01/03 09:45

編集2018/01/03 11:22
Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kikiinu

2018/01/06 03:14

回答ありがとうございます デザインモードではColumnTypeを変更できないみたいですね。 コードで動的にしたいので1列ずつコードで追加していきます
Zuishin

2018/01/06 05:57

できますよ。デザインモードでしました。
kikiinu

2018/01/08 04:28

返信ありがとうございます。 間違えてました デザインモードではColumnType…ではなく コードではColumnType…の間違いでした。
Zuishin

2018/01/08 06:45

できますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問