解決済み

C# DataGridView特定セルの入力フォーム変更について

  • すぐに回答を!
  • 質問No.5841643
  • 閲覧数5658
  • ありがとう数7
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 64% (31/48)

C# DataGridView特定セルの入力フォーム変更について

C# DataGridViewについての質問です。

DataGridViewで1列目のコンボボックスを選択した値によって、その行のみ
2列目の入力フォームを変更したいのですが、その様なことは可能でしょうか?

例.1行目1列目コンボボックス「a」選択時、1行目2列目コンボボックス表示
  2行目1列目コンボボックス「b」選択時、2行目2列目テキストボックス表示
  3行目1列目コンボボックス「c」選択時、3行目2列目チェックボックス表示

列全体の入力フォームを変更する処理なら分かるのですが、特定のセルのみ変更する
方法が分かりません。

もし可能であれば実現方法も教えて頂けると非常に助かります。


宜しくお願いします。

質問者が選んだベストアンサー

  • 回答No.2

ベストアンサー率 63% (23/36)

なるほど。そういうことだったのですねw
私頭が弱いので読解力っていうのが無いみたいで・・・ご迷惑おかけしました。

FormにButtonを貼り付けてクリックイベントで下記コードを実行してみてください。

private void button1_Click(object sender, EventArgs e)
{
DataGridView dgv = new DataGridView();
DataGridViewCheckBoxCell checkCell = new DataGridViewCheckBoxCell();
DataGridViewComboBoxCell comboCell = new DataGridViewComboBoxCell();
DataGridViewTextBoxCell textCell = new DataGridViewTextBoxCell();


dgv.AllowUserToAddRows = false;
dgv.EditMode = DataGridViewEditMode.EditOnEnter;
dgv.RowCount = 3;
dgv.ColumnCount = 1;
dgv.Dock = DockStyle.Fill;
Controls.Add(dgv);

//CheckBox
checkCell.Value = true;
dgv[0, 0] = checkCell;

//ComboBox
comboCell.DisplayMember = "test";
dgv[0, 1] = comboCell;

//TextBox
textCell.Value = "";
dgv[0, 2] = textCell;



}

DataGridViewは必要ありません。あくまでテスト用データなので別プロジェクトを作成して実行してください。これを改良すれば目的のことも出来ると思います。
お礼コメント
joynus188

お礼率 64% (31/48)

出来ました!

実現出来ないんじゃないかと思っていたので本当に助かりました!

ありがとうございます!
投稿日時 - 2010-04-22 17:25:21

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 63% (23/36)

可能だと思います。
DataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnlyプロパティをTrueにしてください。

これでいけるとは思いますが・・・
補足コメント
joynus188

お礼率 64% (31/48)

回答ありがとうございます。

残念ながらrk_lesさんが仰った方法は既に試しており、その方法では
条件を満たせないことが分かりました。

説明が不足しており、申し訳ありません。

確かに特定のセルの入力フォームの変更は可能なのですが、それだと
同列の他全セルの入力フォームも自動的に変更されてしまいます。

同列の他セルに影響を与えず、あくまで各行の入力フォームを個別で自由に
設定したいのです。


例.
  | 1列目 | 2列目
  |------------
  |  a   | テキストボックス
  |  b   | コンボボックス
  |  c   | チェックボックス
  |  a   | テキストボックス

 ※1行目1列目のコンボボックス値を「b」に変更した場合、1行目2列目はコンボ
  ボックスとなりますが、同列他セルの入力フォームはそのままです。
投稿日時 - 2010-04-22 15:00:51
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ