- ベストアンサー
Bindingsource.Sortが効かない
visualstudioでC#を使用しています。 DataGridViewのDataSourceにBindingSourceを使用し、BindingSource.Sortで並び替えを実施しようとしています。 BindingSourceのListやDataGridViewのDataSource.Listを見てみるとソートされているのですが画面には反映されません。。。 BindingSourceのソート関連のプロパティはすべてtrueになっています。 画面の描画に使用しているのはListではないのでしょうか?また、ソートを無効にしてしまうプロパティ等があるのでしょうか? 教えて下さい!お願いします!!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
失礼しました。 以下のコードで試していたのですが、ソートされて表示されました。 質問者さまの方式と違うかも知れませんが、このコードを試してみていただけますか。 dataGridView1はコントロールをはりつけただけで、プロパティは変更していません。 ---- var dt = new DataTable(); dt.Columns.Add("Column1"); dt.Columns.Add("Column2"); dt.Columns.Add("Column3"); dt.Rows.Add("3", "B", "あ"); dt.Rows.Add("2", "A", "う"); dt.Rows.Add("1", "C", "い"); var bs = new BindingSource(); bs.DataSource = dt; dataGridView1.DataSource = bs; bs.Sort = "Column1"; ----
その他の回答 (1)
- dell_OK
- ベストアンサー率13% (766/5720)
もしかしてリストをバインドされていますか。 DataGridViewではDataTableでないとソートできなかったと思います。 リストでソートするにはこちらのような工夫が必要になりそうです。 (動作未確認) https://garafu.blogspot.com/2016/09/cs-sorablebindinglist.html
補足
回答ありがとうございます! DataTableをバインドしています。。。
お礼