用Winform进行开发的时候遇到这么一个问题,当datagridview加载完毕后,循环每一列设置其displayIndex属性...发现并没有按预想的那么进行排序,而且多次刷新后列的顺序也随意改变。很是纳闷,后谷歌网上牛人,终于解决,可能是微软的小bug。
解决方案是,先把预先设置的待排序的列按displayIndex进行排序。排序完成后,然后按displayIndex的顺序对所对应的列进行displayIndex的赋值。这样就解决问题了。如果该datagridview有隐藏的列,则可以先设置隐藏列,让其displayIndex全部设置为(datagridview.columns.count-1).这样这些隐藏列不会干扰显示的列排序。代码就不贴了,知道了思路,写写更健康!