Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1841 | Besucher online: 5
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Einträge in ListView verschieben


Autor: Marcell Spies
Sprache: C#
Bewertung: 1,8
(1 Bewertung)
Anzahl der Aufrufe: 12433
  
Kick it on dotnet-kicks.de  

Beschreibung:

Mit dieser Funktion lassen sich Einträge in einer ListView nach oben oder unten verschieben.
(Um eine Extension-Method zu erhalten muss einfach das Schlüsselwort "this" vor dem ersten Funktionsparameter eingefügt werden --> ... void MoveListViewItems(this ListView listView, ...)


Abgelegt unter: down, hoch, runter, verschieben, einträge, liste, eintrag, listview, list, view, move, entries, entry, list, items, up.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/// <summary>
/// Moving direction for selected ListView entries
/// </summary>
public enum Direction
{
    /// <summary>
    /// Move ListView entries upwards.
    /// </summary>
    Up,
    /// <summary>
    /// Move ListView entries downwards.
    /// </summary>
    Down
}

/// <summary>
/// Move a the selected items in a ListView box in a specified direction.
/// </summary>
/// <param name="listView">The ListView.</param>
/// <param name="direction">The direction.</param>
public static void MoveListViewItems(ListView listView, Direction direction)
{
    List<ListViewItem> selectedItems = new List<ListViewItem>();

    foreach (ListViewItem lvItem in listView.SelectedItems)
    {
        selectedItems.Add(lvItem);
    }

    MoveListViewItems(listView, selectedItems, direction);
}

/// <summary>
/// Move a given list of ListView entries in a ListView box in a specified direction.
/// </summary>
/// <param name="listView">The ListView.</param>
/// <param name="listViewItems">The ListView items, which will be moved.</param>
/// <param name="direction">The direction.</param>
public static void MoveListViewItems(ListView listView, IEnumerable<ListViewItem> listViewItems, Direction direction)
{
    List<ListViewItem> items = new List<ListViewItem>(listViewItems);
    if (direction == Direction.Down)
    {
        for (int i = items.Count - 1; i >= 0 ; i--)
	    {
            ListViewItem lvItem = items[i];

            int oldIndex = lvItem.Index;
            int newIndex;

            listView.Items.Remove(lvItem);

		    if (oldIndex == listView.Items.Count)
            {
                newIndex = 0;
            }
            else
            {
                newIndex = oldIndex + 1;
            } 

            listView.Items.Insert(newIndex, lvItem);
	    }
    }
    else
    {
        foreach (ListViewItem lvItem in items)
        {
            int oldIndex = lvItem.Index;
            int newIndex;

            listView.Items.Remove(lvItem);

            if (oldIndex == 0)
            {
                newIndex = listView.Items.Count;
            }
            else
            {
                newIndex = oldIndex - 1;
            }

            listView.Items.Insert(newIndex, lvItem);
        }
    }
}

Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:
[C#] SortingHelper - MoveUpInList & MoveDownInList
[VB.NET] Form mit gedrückter linker Maustaste bewegen
[C#] TreeView Drag&Drop
[C#] Datei in Papierkorb verschieben
[C#] Form ohne Rahmen verschieben
[C#] Liste mit Ereignis bei Änderung der Elementanzahl
[C#] LINQ-Erweiterung für eindeutige Liste
[C#] user.config und generische Listen
[C#] Zufallszahlen, die sich nicht wiederholen
[C#] Alle Dateien eines Ordners auflisten - C# Version -
[C#] SortableBindingList
[C#] List string zu List int konvertieren
[C#] Liste mit int array zu Liste mit string array
[C#] Liste durchsuchen
[C#] ListView Spalten sortieren
[VB.NET] Text-Inhalt aller Listview-Items in die Zwischenablage kopie
[VB.NET] Ausgewählte ListView Items verschieben
[C#] Listview in Excel Sheet exportieren
[C#] ListView SubItem farbig
[C#] Automatische Anpassung der Breite von GridViewColumns
[C#] ListView Gruppen aus Enum erzeugen
[C#] Reihenfolge der neu angeordneten ListView Spalten ermitteln.
[C#] Duplikate aus einer IEnumerable entfernen
[VB.NET] Doppelte Arrayeinträge mit linearem Aufwand entfernen
[VB.NET] Listen, Arrays, Strings konvertieren
[VB.NET] List all controls by using the name of the controls
[VB.NET] Berechnet den Durchschnittswert von grossen Zahlenlisten
[C#] Geschachtelte Methode zur String-Bearbeitung
[VB.NET] File List
[C#] SystemIconsImageListWrapper
[C#] WatchedList
[C#] C# Ordner auslesen und in Liste speichern "rekursiv"

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.