2017-02-10 18 views
0

DataGridViewコントロールでプログラムで列をソートすると、WinForm DataGridView sortは手動でのユーザー並べ替えを無効にします

dgv.Sort(dgv.Columns[0], ListSortDirection.Ascending) 

ユーザーは、他の列の並べ替えを変更できません。 動作を変更して列のデフォルトの並べ替えを設定しますが、ユーザーが独自の並べ替えを実行できるようにするにはどうすればよいですか?

答えて

0

は、あなたの列はすべて、あなたのグリッドを作成するときにソートすることができていることを確認してください:

foreach (DataGridViewColumn column in dataGridView1.Columns) 
{ 
    column.SortMode = DataGridViewColumnSortMode.Automatic; 
} 

私はに手動でソートあなたは上記の与えたラインを呼び出した後、列ヘッダをクリックしてことができました。上記の行を呼び出す前に、ユーザーが並べ替えできることを確認してください。そうでなければ、上記のcolumnnプロパティを設定する必要があります。

+0

特に、すべての列でソートモードを自動に設定しました。行dgv.Sort(dgv.Columns [0]、ListSortDirection.Ascending)をコメントアウトすると、ユーザーは列を手動でソートできますが、その行を追加するとユーザーは列を並べ替えることができなくなります。 DataGridViewはDataTableにバインドされています。 – labnet

関連する問題