INDEX
- セルソート設定(全体)
- スクロールロック(スクロール範囲指定)
- 単数/複数切替と(行、列、Cell)選択モード
- 列幅、行高さの自動調整モード設定 (★)
- 列、行の表示/非表示切替
- 振る舞い
- データがNullの時の表示内容(CellStyleを参照)
セルソート設定(全体)
ここで設定した内容が、全ての列コレクションに反映されます。
スクロールロック(スクロール範囲指定)
任意の列と行を指定すると、以降をスクロール対象に変更できます。
単数/複数切替と(行、列、Cell)選択モード
セル選択を単数選択にするのか複数選択にするかの設定、および選択モードを設定します。
- CellSelect:1つ以上の個別のセルを選択
- FullRowSelect:行のヘッダーまたは行内のセルクリックにて行全体を選択
- FullColumnSelect:列のヘッダーまたは列内のセルをクリックにて列全体を選択
- RowHeaderSelect:行のヘッダー セルクリックにて行を選択。個別のセルは、セルクリックにて選択
- ColumnHeaderSelect:列のヘッダー セルクリックにて列を選択。個別のセルは、セルクリックにて選択
※行選択(FullRowSelect)を指定した場合、セル選択で行全体が選択できます。
※「セルを選択しない(できない)」というモードはありません。その場合、選択した瞬間に選択を解除するプログラムで対応します。
列幅、行高さの自動調整モード設定 (★)
この設定は、DataGridViewをユーザーに使ってもらうための要的な存在です。
行高さの調整ですが、マニュアルよりもオートにした方がユーザーも操作が行いやすいです。高さ調整をしたくないのに誤って高さが変わってしまい簡単に元に戻せないからです。高さは固定にした方がいいでしょう。
列幅の調整は、ちょっと面倒ですが「半自動」が最適です。データを表示したタイミングや任意のタイミングで自動調整を行い、その後マニュアルに戻してユーザーに調整を任せるといった感じです。マニュアル固定、ある自動設定固定では柔軟性に欠ける事は明白で、DataGridViewがメインのアプリは十分に検討した方がいいでしょう。
列幅自動調整モード設定:DataGridViewAutoSizeColumnsMode
大量行のデータに対して全てのセル内容に合わせて調整すると時間がかかってしまうため、実際に近いデータで確認するといいでしょう。
- None:自動調整しません
- ColumnHeader:列ヘッダー セルの内容に合わせて調整
- AllCellsExceptHeader:ヘッダー セルを除く列内のすべてのセルの内容に合わせて調整
- AllCells:ヘッダー セルを含む列内のすべてのセルの内容に合わせて調整
- DisplayedCellsExceptHeader:現在画面に表示されている行に含まれるセルの内容に合わせて調整(ヘッダー セルを除く)
- DisplayedCells:現在画面に表示されている行に含まれるセルの内容に合わせて調整(ヘッダー セルを含む)
- Fill:すべての列がコントロールの表示領域の幅いっぱいに表示されるよう、列幅が調整
行高さ自動調整モード設定:DataGridViewAutoSizeRowsMode
- None:行の高さの自動調節は行わない
- AllHeaders:行ヘッダーの内容に合わせて行の高さを調節
- AllCellsExceptHeaders:行内のすべてのセルの内容に合わせて行の高さを調節(ヘッダーセル除く)
- AllCells:行内のすべてのセルの内容に合わせて行の高さを調節(ヘッダーセル含む)
- DisplayedHeaders:現在画面上に表示されている:行ヘッダーの内容に合わせて高さを調節
- DisplayedCellsExceptHeaders:現在画面上に表示されている:行ヘッダーの内容に合わせて高さを調節(ヘッダー
セル除く)
- DisplayedCells:現在画面上に表示されている:行ヘッダーの内容に合わせて高さを調節(ヘッダー セルを含む)
列、行の表示/非表示切替
必要に応じて、列や行を非表示にすることができます。データベースをバインドして、ユーザーには見せたくない列や行を非表示にするといった使い方です。