DataGridViewでソートを無効化する

提供:MochiuWiki : SUSE, EC, PCB
2019年6月29日 (土) 20:02時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「 == 概要 == DataGridViewでソートを無効化する方法は、DataGridViewのカラムに対してNotSortableを設定するだけである。 <br> この方法は2…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

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;
       }
   }
}