我正在尝试使用listview实现C#拖放行重新排序,然后使用当前行的顺序更新SQL数据库。我在互联网上遇到了一些代码片段(来自这个网站的一个实现了“var”类),但似乎没有一个能满足我的需求。我不需要帮助更新数据库,因为我很清楚如何执行此操作,但似乎无法使行重新排序正常工作,任何输入都将不胜感激。
-谢谢
嘛
最佳答案
AllowDragDrop
设置为 true
。 private void myList_ItemDrag(object sender, ItemDragEventArgs e)
{
DoDragDrop(e.Item, DragDropEffects.Link);
}
private void myList_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Link;
}
private void myList_DragDrop(object sender, DragEventArgs e)
{
// do whatever you need to reorder the list.
}
获取您拖入的行的索引可能类似于:
Point cp = myList.PointToClient(new Point(e.X, e.Y));
ListViewItem dragToItem = myList.GetItemAt(cp.X, cp.Y);
int dropIndex = dragToItem.Index;
关于C# Listview 拖放行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3334987/