DataGridViewで自動的に列の幅を調整する方法
【問題】
↑のようにセルに表示しきれていない部分がある時、自動的に列の幅を調整し、内容を全て表示する方法を説明します。
【解決策:コード】
DataGridViewのAutoSizeColumnsModeで自動列幅調整を設定することができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
//ヘッダー&セルの内容に合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; //ヘッダーを除く全てのセルに合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader; //ヘッダーに合わせ列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader; //表示しているヘッダー&セルの内容に合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; //表示しているセルの内容に合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCellsExceptHeader; //DataGridViewの表示幅に合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; //列幅調整を行わない dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None |
上記のプロパティの設定値を一つずつ解説していきます。
【AllCells】
1 2 |
//ヘッダー&セルの内容に合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; |
DataGridViewの全ヘッダー&全セル内容に合わせて列幅を自動調整します。
スクロールしないと表示されない部分のセル内容も考慮されているのが分かると思います。
【AllCellsExceptHeader】
1 2 |
//ヘッダーを除く全てのセルに合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader; |
DataGridViewの全セル内容に合わせて列幅を調整します。
ヘッダーは考慮されません。
スクロールしないと表示できない部分のセルも考慮していますが、
ヘッダーが無視されていることが分かると思います。
【ColumnHeader】
1 2 |
//ヘッダーに合わせ列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader; |
DataGridViewのヘッダーに合わせて列幅を自動調整します。
【DisplayedCells】
1 2 |
//表示しているヘッダー&セルの内容に合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; |
DataGridViewのヘッダー&表示セルの内容に合わせて列幅を自動調整します。
スクロールしないと表示できない部分のセルが考慮されていないことが分かると思います。
【DisplayedCellsExceptHeader】
1 2 |
//表示しているセルの内容に合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCellsExceptHeader; |
DataGridViewの表示セルに合わせて列幅を自動調整します。
ヘッダーとスクロールしないと表示できない部分のセルが考慮されていないことが分かると思います。
【Fill】
1 2 |
//DataGridViewの表示幅に合わせて列幅自動調整 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; |
DataGridViewの表示部に幅に合わせて列を自動調整します。
DataGridView表示部に合わせて列幅が調整されていることが分かると思います。
【None】
1 2 |
//列幅調整を行わない dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; |
列幅の自動調整をしない場合の設定値です。
【VisualStudio】
対象DataGridViewのプロパティAutoSizeColumnsModeを弄ってあげましょう。
ディスカッション
コメント一覧
まだ、コメントがありません