C# DataGridView特定セルの入力フォーム変更について
C# DataGridViewについての質問です。
DataGridViewで1列目のコンボボックスを選択した値によって、その行のみ
2列目の入力フォームを変更したいのですが、その様なことは可能でしょうか?
例.1行目1列目コンボボックス「a」選択時、1行目2列目コンボボックス表示
2行目1列目コンボボックス「b」選択時、2行目2列目テキストボックス表示
3行目1列目コンボボックス「c」選択時、3行目2列目チェックボックス表示
列全体の入力フォームを変更する処理なら分かるのですが、特定のセルのみ変更する
方法が分かりません。
もし可能であれば実現方法も教えて頂けると非常に助かります。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
なるほど。
そういうことだったのですね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は必要ありません。あくまでテスト用データなので別プロジェクトを作成して実行してください。これを改良すれば目的のことも出来ると思います。
No.1
- 回答日時:
可能だと思います。
DataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnlyプロパティをTrueにしてください。
これでいけるとは思いますが・・・
この回答への補足
回答ありがとうございます。
残念ながらrk_lesさんが仰った方法は既に試しており、その方法では
条件を満たせないことが分かりました。
説明が不足しており、申し訳ありません。
確かに特定のセルの入力フォームの変更は可能なのですが、それだと
同列の他全セルの入力フォームも自動的に変更されてしまいます。
同列の他セルに影響を与えず、あくまで各行の入力フォームを個別で自由に
設定したいのです。
例.
| 1列目 | 2列目
|------------
| a | テキストボックス
| b | コンボボックス
| c | チェックボックス
| a | テキストボックス
※1行目1列目のコンボボックス値を「b」に変更した場合、1行目2列目はコンボ
ボックスとなりますが、同列他セルの入力フォームはそのままです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) エクセルでセルの日付を和暦表示設定にしたらおかしなことに? 3 2022/05/25 11:47
- Excel(エクセル) エクセルVBAで次の二つを行いたいのですが思うように動きません。どう修正したらよいのでしょうか? 2 2023/04/22 14:55
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
C# DataGridViewで複数選択したセルに同じ値を一括で入力するには
C言語・C++・C#
-
[VB.net] DataGridViewの列ヘッダー複数行表示に伴う不具合?について
Visual Basic(VBA)
-
-
4
C#で構造体の配列を持った構造体を使いたいのですが
C言語・C++・C#
-
5
DataGridViewの各セル幅を自由に決め、その幅で固定したい
Visual Basic(VBA)
-
6
DataGridViewで入力チェック後、フォーカスをあてたい
Visual Basic(VBA)
-
7
VB2005 DataGridView上でクリックを無効にする方法はありますか?
Visual Basic(VBA)
-
8
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
9
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
10
DataGridViewの桁数制限に関して
Visual Basic(VBA)
-
11
DataGridViewのセルのItem設定につい
C言語・C++・C#
-
12
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
13
コンボボックスの三角を一時的に消す方法。
Visual Basic(VBA)
-
14
System.IO.Directory.GetFilesの順番
Visual Basic(VBA)
-
15
DataGridViewの特定列に入力されている重複チェックをしたい
Visual Basic(VBA)
-
16
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
17
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
18
DateTimePickerに値を入れたいのですが…
Visual Basic(VBA)
-
19
VB2005EE:DataGridViewでチェックボックスを設けるには
Visual Basic(VBA)
-
20
矢印(左右)キーでイベントを発生させたい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ウォッチ式の文字数制限について
-
ACCESSのラベル内データに下線...
-
Vba テキストボックス文字を右...
-
eclipseのデバッグ中に変数の値...
-
ExcelVBA EnableプロパティがF...
-
ラベルのスクロール(VB)
-
ラベルの文字列の長さが変わっ...
-
ラベルを表示したり非表示にし...
-
VB.NETでラベルの大きさってど...
-
VisualStudioのプロパティが表...
-
(Excel 2003) マクロでワー...
-
TextBox内で違う色の文字を表示...
-
エクセル 画像のプロパティで縦...
-
セレクトボックスのハイライト...
-
ラベル内の文字(Caption)を縦...
-
VB6でテキストボックスに入力し...
-
オートシェイブをIncrementLeft...
-
メッセージボックスの表示位置...
-
ToolStripコントロールのLocat...
-
MATLABのグラフで軸目盛りのフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ウォッチ式の文字数制限について
-
eclipseのデバッグ中に変数の値...
-
Vba テキストボックス文字を右...
-
VisualStudioのプロパティが表...
-
ExcelVBA EnableプロパティがF...
-
ラベルの文字列の長さが変わっ...
-
ラベルを表示したり非表示にし...
-
ラベル内の文字(Caption)を縦...
-
VB.NETでラベルの大きさってど...
-
C# DataGridView特定セルの入力...
-
Excel VBA ユーザーフォーム内...
-
ラベルのスクロール(VB)
-
エクセル 画像のプロパティで縦...
-
ACCESSのラベル内データに下線...
-
スプレッドシートの列名変更の...
-
Notepad++のコメントの色を変え...
-
ACCESSのVisibleについて
-
VBAでMultiPageの色の設定方法は?
-
MATLABのグラフで軸目盛りのフ...
-
0での割り算
おすすめ情報