WindowsフォームのDataGridViewで自動的に行の高さを調整する方法
やりたいこと
↑のようにセル内で改行があり全ての行が表示できていない場合、
自動的に行の高さをセル内容によって調整できたら便利です。
どうすれば自動的に行の高さを調整できるか説明していきます。

DataGridViewで自動的に行の高さを調整する方法
DataGridViewのAutoSizeRowsModeで行の高さの自動調整が設定できます。
//行ヘッダー&全セルの内容に合わせて行の高さ自動調整
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
//全セルの内容に合わせて行の高さ自動調整 ※行ヘッダーは除く
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders;
//行ヘッダーに合わせて行の高さを自動調整
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllHeaders;
//行ヘッダー&表示セルの内容に合わせて行の高さ自動調整
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
//表示セルの内容に合わせて行の高さ自動調整 ※行ヘッダーは除く
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
//表示行ヘッダーに合わせて行の高さ自動調整
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedHeaders;
//業の高さを自動調整しない
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
上記のプロパティ設定値を一つずつ説明していきます。
AllCells
行ヘッダー&全セルの内容に合わせて行の高さを自動調整します。

行ヘッダー、スクロールしないと表示されない部分も調整されています。
AllCellsExceptHeaders
全セルの内容に合わせて行の高さ自動調整 ※行ヘッダーは除く

AllHeaders
行ヘッダーに合わせて行の高さを自動調整
DisplayedCells
行ヘッダー&表示セルの内容に合わせて行の高さ自動調整
行ヘッダーと表示セルに合わせて自動調整をするはずですが……、
なぜか【AllCells】の時と同じ結果になってしまいました。
設定ミスかもしれません。原因が分かったら修正します。
【AllCells】に比べて表示セルしか対象にしないので、
パフォーマンスは良くなるはずです。
DataGridViewが重い時はDisplayedCellsを採用するといいかもしれません。
DisplayedCellsExceptHeaders
表示セルの内容に合わせて行の高さ自動調整 ※行ヘッダーは除く
なぜか【AllCellsExceptHeaders】と同じ結果になります。
表示セルというのはDataGridViewの初期表示部に表示されているセルのことを指す、
と思っていましたが、もしかしたら違うのかもしれません。
DisplayedHeaders
表示行ヘッダーに合わせて行の高さ自動調整
これも【AllHeaders】と同じ結果になっています。
None
行の高さを自動調整しません。
まとめ
ALL系とDisplay系の結果がイコールになるという現象が起きています。
なぜだ……?
僕が何か勘違いしている可能性が高いです。
知っている人がいれば是非教えてください。
ALL系よりはDisplay系の方が軽いはずなので、
支障がなければDisplay系を使うと良いかもしれません。
Windowsフォーム関連記事
- Windowsフォームでバージョン情報を画面タイトルの横に出す
- Windowsフォームのグループボックス・パネルのTabIndex設定方法
- Windowsフォームのコンボボックスのドロップダウンリストの幅の変更方法
- Windowsフォームを常に最前にする方法
- Windowsフォームの表示位置の種類と設定方法
- Windowsフォームにスクロールバーを自動的に表示する方法
- WindowsフォームのDataGridViewでセルに収まりきらなかった文字列を折り返して表示する方法
- WindowsフォームでTabIndexをまとめて並べ替える方法
- Windowsフォームでフォーム上に直線を引く方法
- WindowsフォームのDataGridViewで自動的に行の高さを調整する方法
- WindowsフォームのオブジェクトのIMEの設定
- WindowsフォームのDataGridViewで自動的に列の幅を調整する方法
- Windowsフォームの最大化・最小化の禁止設定
- Windowsフォームのコントロールにタブで遷移できないように設定する方法
- Windowsフォームでカスタムコントロールを作成しDLLとして保存する方法
ディスカッション
コメント一覧
まだ、コメントがありません