关于datagrid的问题

Jaguar1982 2003-12-12 12:04:12
我想要按住列名托动至想要的位置,该如何实现呢?
就像文件管理器那样。
请高手指教!
...全文
36 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
没做过,也没思路。帮你顶

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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