【发布时间】:2016-08-26 23:10:29
【问题描述】:
我正在尝试在 ObjectListView 中创建沿路线的可重新排列的停靠点列表。我的列表在初始化时被正确分组和排序。见以下链接:
初始化后的路由,正确分组
当我拖放一行时(无论是放在同一个组还是不同的组中),它都会被移动到一个新的“默认”组中。见下文:
拖放后的路线,将 Rt 2、Stop 4 移至“默认”组
我尝试了各种尝试来提神,但都无济于事。有人可以解释为什么这被归类为“默认”以及如何解决?谢谢!
这是我的完整代码:
private void RouteEditor_Load(object sender, EventArgs e)
{
Stop stop1 = new Stop();
stop1 .Customer = "Test4";
stop1 .Location = "10010";
stop1 .Weight = 13;
stop1 .StopNumber = 4;
stop1 .Route = "Route 2";
StopList.Add(stop1 );
this.objectListView1.SetObjects(StopList);
this.objectListView1.DragSource = new BrightIdeasSoftware.SimpleDragSource();
this.objectListView1.DropSink = new BrightIdeasSoftware.RearrangingDropSink(false);
}
private void objectListView1_ModelCanDrop(object sender, BrightIdeasSoftware.ModelDropEventArgs e)
{
e.DropSink.CanDropBetween = true;
e.DropSink.CanDropOnItem = false;
if (e.TargetModel == null)
e.Effect = DragDropEffects.None;
else
e.Effect = DragDropEffects.Move;
}
private void objectListView1_ModelDropped(object sender, BrightIdeasSoftware.ModelDropEventArgs e)
{
if (e.TargetModel == null)
return;
Stop targetStop = e.TargetModel as Stop;
foreach (Stop s in e.SourceModels)
s.Route = targetStop.Route;
}
【问题讨论】:
标签: c# vb.net drag-and-drop objectlistview