Foxtable(狐表)用户栏目专家坐堂 → 请教:ListView控件分组显示数据时,如何从一组中拖动一行到另一组?


  共有29人关注过本帖树形打印复制链接

主题:请教:ListView控件分组显示数据时,如何从一组中拖动一行到另一组?

帅哥,在线噢!
y2287958
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4722 积分:34347 威望:0 精华:0 注册:2008/8/31 22:44:00
请教:ListView控件分组显示数据时,如何从一组中拖动一行到另一组?  发帖心情 Post By:2024/9/19 16:39:00 [只看该作者]

如题,例如:http://www.foxtable.com/webhelp/index.htm?page=2772.htm中如何将“欧洲国家”组中的“法国”拖动到“亚洲国家”组中

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109463 积分:556971 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/19 23:28:00 [只看该作者]

有点不是很完美

窗口afterload事件
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
Dim listView1 As System.Windows.Forms.ListView = lvw.BaseControl
AddHandler listView1.DragDrop, AddressOf ListView1_DragDrop

全局代码
Public Sub listView1_DragDrop( sender As Object, e As System.Windows.Forms.DragEventArgs)
Dim listView1 As System.Windows.Forms.ListView = sender

Dim draggedItem As System.Windows.Forms.ListViewItem = e.Data.GetData(GetType(System.Windows.Forms.ListViewItem))
'Output.Show("draggedItem.text=" & draggedItem.Text)
Dim point As Point = listView1.PointToClient(New Point(e.X, e.Y))

Dim targetItem As System.Windows.Forms.ListViewItem = listView1.GetItemAt(point.X, point.Y)
If targetItem IsNot Nothing Then

        Dim newGroup As System.Windows.Forms.ListViewGroup = targetItem.Group
'        Output.Show("newGroup=" & (newGroup Is Nothing))
        If newGroup IsNot Nothing Then
             Output.Show("newGroup=" & newGroup.Name)
            draggedItem.Group = newGroup
             Output.Show("targetItem.Index=" & targetItem.Index)

        End If
End If
End Sub

 回到顶部