Probleme mit ListView

  • VB.NET
  • .NET (FX) 4.0

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von v-go.

    Probleme mit ListView

    Hallo Community.

    vielleicht kann mir hierbei jemand von euch helfen:
    Kämpfe mit einer ListView mit drei Spalten die ich mit einer For Each-Schleife befülle. Das funktioniert auch tadellos. Allerdings habe ich dass Problem dass das ListView Control danach nichts anzeigt. Es ist kein Text zu sehen, obwohl View = Details. Komischerweise erscheint der Scrollbalken und ich kann in der Liste nach unten scrollen (aber es bleibt trotzdem alles weiß) und wenn ich die Items des ListViews wiederum mit einer Schleife auslese sind alle vorhin in das Control geladenen Daten vorhanden?

    <X


    Dies ist der Code, mit dem ich die Daten hinzufüge:

    VB.NET-Quellcode

    1. For Each msg As String In realMessages
    2. Dim iSplit() As String = msg.Split(CChar("|"))
    3. Dim it As ListViewItem = frmMain.lviNachrichten.Items.Add(iSplit(0))
    4. it.SubItems.Add(iSplit(1))
    5. it.SubItems.Add(iSplit(2))
    6. Next


    So sieht das Control nach Ausführung aus:

    lview.PNG

    Einstellungen des Controls:

    view.PNG
    Bilder
    • lview.PNG

      4,04 kB, 716×386, 128 mal angesehen
    • view.PNG

      4,66 kB, 303×184, 131 mal angesehen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „v-go“ ()

    Spontan: Probier mal ein Refresh() oder Invalidate()...einfach das Neuzeichnen anstoßen
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell

    Radinator schrieb:

    Spontan: Probier mal ein Refresh() oder Invalidate()...einfach das Neuzeichnen anstoßen

    Danke für deine Antwort. Ein Refresh() hatte ich bereits drinnen. Habe es auskommentiert und nun ein Invalidate() probiert, leider gleiches Ergebnis :(
    Hast du bei der ListView die Autosize eingeschalten? Wenn ja dann: support.microsoft.com/en-us/kb/317546
    Bzw probier mal bei der HeaderCollection deine Spaltennamen einzufügen. Evtl kann es auch daran liegen

    Bzw: Schau mal bei google nach "vb.net listview contetn is not displayed' oder ähnlichem
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell

    Morrison schrieb:

    Hi!
    Wenn kein Column vergeben iss bekommst auch keine Rows zu sehen! bzw. Items!

    Hi Morrison. Die Spalten sind konfiguriert.

    EDIT: Ich habs gefunden, PROBLEM gelöst!

    Ich habe vor der Befüllung ein Clear() benutzt. Leider habe ich versehentlich Me.ListView1.Clear() benutzt(und somit auch die Colums geschmissen), eigentlich sollte es heißen

    VB.NET-Quellcode

    1. Me.Listview1.Items.Clear()


    Nun funktioniert es ohne Probleme.
    Danke trotzdem vielmals für eure Hilfe!
    :thumbsup:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „v-go“ ()