DataGridView的列头排序问题

Mr_Oyeah 2011-04-27 11:12:17
描述:

做了一个DataGridView 一共有5列,A B C D E.
这个gridview要支持整个Form的Resize功能,所以,我又加了一个空白列F,设置AutoSizeMode属性为Fill,效果还好。

---------------------------------------------------------------------
问题是:

上面列头,可以互相拖拽,但是不希望 最后一列空白列F可以被互换位置。
该如何实现???

———————————————————————————————————
希望大家帮忙啊,SOS!!! Waiting onLine!!!




...全文
268 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Oyeah 2011-05-17
  • 打赏
  • 举报
回复
自己已经解决

方法和大家共享下:
在mousedown事件中记录下 当前列头顺序信息,
在mouseup事件时,判断指定列等顺序是否有变化,如有,则做回滚,相当于crtl+Z的操作!
Mr_Oyeah 2011-04-27
  • 打赏
  • 举报
回复
补充一点:

空白列不许拖动,其他列也不许拖动到空白列的后面。

简单说:空白列的永远在最后一列,只跟随Form的大小,变长,变短。
Mr_Oyeah 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lovelife_go 的回复:]
AllowUserToOrderColumns=false的时候不能移动

你拖拽列的时候,判断那是列是不是你的空白列,如果是的话,就设false,如是不是的话,就设成true
[/Quote]
你说的方法,我昨天试过了,感觉没有好的方法来判断啊。

怎么判断那一列是不是空白列呢,有什么好的建议和方法么?在线等。。。先感谢下
哥本哈根 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lovelife_go 的回复:]

AllowUserToOrderColumns=false的时候不能移动

你拖拽列的时候,判断那是列是不是你的空白列,如果是的话,就设false,如是不是的话,就设成true
[/Quote]
LoveLife_Go 2011-04-27
  • 打赏
  • 举报
回复
AllowUserToOrderColumns=false的时候不能移动

你拖拽列的时候,判断那是列是不是你的空白列,如果是的话,就设false,如是不是的话,就设成true
Mr_Oyeah 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lovelife_go 的回复:]
AllowUserToOrderColumns
通过这个属性控制
[/Quote]

能否详细点,英雄,感谢你第一个回答!
LoveLife_Go 2011-04-27
  • 打赏
  • 举报
回复
AllowUserToOrderColumns
通过这个属性控制

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧