In ListView Header schreiben!

Hannibal

Erfahrenes Mitglied
In ListView Header schreiben! (ColumnHeaders)

Hallo

Kann mir jemand sagen, wie ich einen String in den ListView- Header schreiben kann?

Also einen String mit CommaSeperated- Words. Also ListView Überschriften.

Ich habe folgenden String: Innentemperatur,Windricht,-geschw.,Aussentemperatur,Lichtstärke,


Nun möchte ich diesen zuerst in den Header des ListViews schreiben dammit ich diese Spalten dann auffüllen kann.

Gruss
 
Zuletzt bearbeitet:
Versuch es mal so:

Code:
Dim ausgabe As String
Dim count As Integer
 
ausgabe = "Innentemperatur,Windricht,-geschw.,Aussentemperatur,Lichtstärke"
 
Do
count = count + 1
If InStr(ausgabe, ",") > 0 Then
ListView1.ColumnHeaders.Add count, , Left$(ausgabe, InStr(ausgabe, ",") - 1)
ausgabe = Right$(ausgabe, Len(ausgabe) - InStr(ausgabe, ","))
End If
Loop Until InStr(ausgabe, ",") = 0
 
count = count + 1
ListView1.ColumnHeaders.Add count, , ausgabe
 
ListView1.View = lvwReport
 
Zuletzt bearbeitet von einem Moderator:
Super ganz Vielen Dank.

Doch ich versteh nicht ganz was diese Zeilen nach dem Loop genau machen:

count = count + 1
ListView1.ColumnHeaders.Add count, , ausgabe

Ich komme einfach grad nicht ganz dahinter.

Gruss Hannibal
 
Hallo Hannibal,

jo, hast recht. Ist etwas verwirrend.
Da wird einfach nur noch der String-Rest in den Header geschrieben. Der Abbruch in der Do Loop wird ausgeführt, wenn kein Separator mehr gefunden wird und somit bleibt also der letzte Header-String übrig. Da hab ich dann einfach den Zähler nochmal erhöht und den String eingefügt.

Du kannst es aber auch in die Do Loop einbinden. Brauchst nur eine zusätzliche Variable für den Abbruch der Schleife.

Code:
Dim ausgabe As String
Dim count As Integer
Dim foundEnd As Boolean
 
ausgabe = "Innentemperatur,Windricht,-geschw.,Aussentemperatur,Lichtstärke"
 
Do
count = count + 1
If InStr(ausgabe, ",") > 0 Then
ListView1.ColumnHeaders.Add count, , Left$(ausgabe, InStr(ausgabe, ",") - 1)
ausgabe = Right$(ausgabe, Len(ausgabe) - InStr(ausgabe, ","))
foundEnd = False
Else
ListView1.ColumnHeaders.Add count, , ausgabe
foundEnd = True
End If
Loop Until foundEnd = True
 
ListView1.View = lvwReport
 
Zurück