Я пытаюсь создать изменяемый список остановок вдоль маршрутов в 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;
}