关于datagrid的问题

Jaguar1982 2003-12-12 12:04:12
我想要按住列名托动至想要的位置,该如何实现呢?
就像文件管理器那样。
请高手指教!
...全文
9 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Jaguar1982 2003-12-12
最好能代码提供
  • 打赏
  • 举报
回复
如果你使用LISTVIEW来做,有内建功能可以完成这个操作.
如果非用DATAGRID,我还不知道它有否提供这种功能可供调用.
下面是我的一个解决办法,也不算麻烦.
首先,用一组LABEL控件作为列名标签,设好位置.
在DATAGRID中只显示数据,不用显示列名(这步可做可不做,看你的感觉).
在LABEL控件的MOUSEDOWN,MOUSEUP和MOUSEMOVE事件中编程:
MOUSEDOWN事件:
设全局变量DOWN为真

MOUSEMOVE事件:
IF DOWN THEN
LABEL随鼠标左右移动

MOUSEUP事件:
DOWN为假
判断LABEL位置是否已经到了其它列的位置
是: 将此LABEL和该LABEL的TEXT互换,并使此LABEL还原到原位置
否: 将此LABEL还原到它原位置
为表义清楚,是否的处理语句故意未作优化.
到此完成了列标题的移动,还要根据改变后的列顺序来使DATAGRID的数据随之改变:
NEWSQL="SELECT " & Lable1.text & "," & Lable2.text & "," & Lable3.text & " From 表"
执行NEWSQL填充DATAGRID

这里只是提一个思路,具体的编程没时间做了,有些细节丰富一下就行了.
  • 打赏
  • 举报
回复
wwl1981 2003-12-12
没做过,也没思路。帮你顶
  • 打赏
  • 举报
回复
发帖
VB
加入

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
申请成为版主
帖子事件
创建了帖子
2003-12-12 12:04
社区公告
暂无公告