DataGridView点击列名自动排序

因工作原因,做这个Winform程序,其实最开始想的是现在是Web的天下,还用Winform开发,我一开始内心是拒绝的,但是也没法反抗啊,那就继续折腾吧!

然后在折腾这个折腾1小时,整这个DataGridView进行点击列名排序时,设置了以下属性:

dgv.AllowUserToOrderColumns = true;
dgv.Columns[1].SortMode = DataGridViewColumnSortMode.Automatic;

发现还是不起效果呢!网上搜索各种大神的解答。有设置SortMode为Programmatic的,然后在写个ColumnHeaderMouseClick事件方法,这样虽然也能达到点击列名排序的效果,但是列名就不会有排序的小三角形了,而且我坚信SortMode为Automatic,我一定可以干出来排序,所以没采用这种方式。

最后发现是dgv的DataSource为List时,不会进行排序,我把List转为DataTable后绑定在dgv的DataSource,然后OK啦!

posted @ 2019-08-06 11:00  我就是老王  阅读(1084)  评论(0编辑  收藏  举报