DataGridViewでソートを無効化する

提供:MochiuWiki : SUSE, EC, PCB
2019年6月29日 (土) 20:03時点におけるWiki (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

概要

DataGridViewでソートを無効化する方法は、DataGridViewのカラムに対してNotSortableを設定するだけである。
この方法は2種類存在するので以下にその方法を記載する。

デザイナで設定する

1つ目は、Visual Studioのデザイナから修正を行う方法である。
デザイナから修正するとソースコードが隠れるので、最初からソートを無効化したいカラムが確定しているならこの方法がよい。

1. ソートを無効化したいDataGridViewのタスクを開く。

Datagridview-unsort-01.png

2. [列の編集]を選択する。

Datagridview-unsort-02.png

3. ソートを無効化したいカラムのSortModeをNotSortableに設定する。

Datagridview-unsort-03.png



ソースコードで設定する

2つ目は、ソートの無効化をソースコードで行う方法である。
ソートの無効化を動的に変更する場合はこの方法がよい。
以下のソースコードでは、すべてのカラムでソートを無効化している。

public partial class Form1 : Form
{
   public Form1()
   {
       this.InitializeComponent();

       // dataGridView1 の すべてのカラムで ソート を 無効化
       foreach (DataGridViewColumn column in this.dataGridView1.Columns)
       {
           column.SortMode = DataGridViewColumnSortMode.NotSortable;
       }
   }
}