Zufälligen Eintrag aus ListView abrufen

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Lukas.

    Zufälligen Eintrag aus ListView abrufen

    Hallo Leute,
    ich möchte einen zufälligen Eintrag aus einer ListView abrufen, wie geht das?


    Edit by Manschula: Thema aus dem Hauptforum verschoben

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()

    JDevBro schrieb:

    wie geht das?
    Genügt eine Zeile oder muss es auch eine (un)bestimmte Spalte sein?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Da musst du ja einfach nur mit Random.Next() Arbeiten?
    Du zählst einfach wie viele Items du hast, erstellst ein neues Random Objekt, das gibt dir den Index des Items aus.
    Und dieses Items liest du aus.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Wie sieht dein Code denn aus? Dann können wir dir sagen wo du was ändern musst damit es geht.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Wie sah denn die Theorie aus?
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    also Am Anfang sollte es festellen wie viele Zeilen und Spalten es gibt, und dann sollte es für die Zeilen einen zufälligen Wert(max. soviel wie es Zeilen gibt) generieren und für die Spalten auch. Und dann tut es den Text, der in dieser Zelle steht, in einem Label anzeigen.
    Steig am besten gleich auf DataGridView um, da ist die Anzahl der Spalten und Zeilen wohldefiniert.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hi
    die Aufgabe ist umformuliet: Wähle einen beliebigen ListBox-Eintrag und aus diesem beliebigen ListBox-Eintrag ein beliebiges SubItem. Die Ansteuernug der Items ist sehr gut über Indices zu lösen, da Random einen ganzzahligen Wert zurückgeben kann und Items genau das als Index erwartet. Random.Next(maxValue) ist die Überladung, die du dafür verwendest:

    VB.NET-Quellcode

    1. Dim rnd As New Random()
    2. Dim item As ListViewItem = listView.Items(rnd.Next(listView.Items.Count)) 'zufälliges Item auswählen
    3. Dim cell As ListViewItem.ListViewSubItem = item.SubItems(rnd.Next(item.SubItems.Count))'Zufällige Spalte auswählen

    Es wäre allerdings eine Überlegung wert, ein DataGridView zu verwenden, da du in diesem Fall die Daten direkt verwenden kannst. ListView trennt Daten und GUI halt nicht wirklich.

    Gruß
    ~blaze~

    ~blaze~ schrieb:

    VB.NET-Quellcode

    1. Dim rnd As New Random()
    @JDevBro:: Diese Zeile allerdings solltest Du aus der Prozedur in die Klasse verschieben, um nicht jedes Mal dieselbe Zufalls-Reihenfolge zu generieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Afaik arbeitet die Next-Methode der Random-Klasse doch mit der aktuellen Zeit, weshalb zu ein und demselben Zeitpunkt (in einem Aufruf) von einer Instanz auch nur eine Zufallszahl kommen kann. Inwiefern hängt das jetzt mit der Instanziierung zusammen?
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    @~blaze~: Stimmt.

    Das Codebeispiel hier zeigt diese Tatsache auch nochmal.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.