2016-08-26 20 views
2

ObjectListViewのルートに沿って、再配置可能なストップリストを作成しようとしています。私のリストはグループ化され、初期化時に正しくソートされます。以下のリンクを参照:正しく私はドラッグするModelDroppedイベントの後、ObjectListViewの 'Default'グループを防ぐ方法はありますか?

をグループ化し、初期化後

ルートおよび(同じグループまたは異なるグループにドロップ場合にかかわらず)の行を削除、それが新たに移動します'デフォルト'グループ。以下を参照してください:RT 2とドラッグ&ドロップした後

ルートを、ストップ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; 
}    

答えて

0

は、ここでその全体が私のコードです。たぶんOLVは落としたアイテムをどうしたらいいのか分からないのです。なぜなら、落とした後にグループを再評価/再構築しないからです。

From the manual

例:コントロールは、学術学年で生徒をグループ化し、ユーザが「A +」のグループにグレードの学生を「失敗」にドラッグすれば、それは可能に、プログラマの責任でありますモデルを適切に変更し、ユーザー操作が意味をなさないようにコントロールを再描画/再構築します。

関連する問題