Das ListView-Control - ein Steuerelement, welches aufgrund seiner vielfältigen Einsatzmöglichkeit sehr häufig in den eigenen Projekten verwendet wird - bietet so einiges, doch leider fehlen zwei sehr wichtige Funktionen:
Speichern des ListView-Inhalts in eine Datendatei ''' <summary> ''' Speichert den Inhalt des ListViews in eine Datei.- ''' </summary> ''' <param name="lvw">ListView-Control</param> ''' <param name="DataFile">Dateiname der Datendatei</param> ''' <returns>True, bei Erfolg, andernfalls False.</returns> Public Function lvw_SaveData(ByVal lvw As ListView, ByVal DataFile As String) As Boolean Dim oStream As IO.StreamWriter = Nothing Dim bResult As Boolean = False Try ' Anzahl ListView-Spalten Dim lvwCols As Integer = lvw.Columns.Count Dim sData As New System.Text.StringBuilder With lvw.Items ' ListView durchlaufen und zeilenweise zusammensetzn For i As Integer = 0 To .Count - 1 sData.Append(.Item(i).Text) For u As Integer = 1 To lvwCols - 1 sData.Append(vbTab & .Item(i).SubItems(u).Text) Next sData.AppendLine() Next End With ' Stream-Objekt zum Speichern erstellen ' und den zuvor zusammengestellen String speichern oStream = New IO.StreamWriter(DataFile, False, System.Text.Encoding.Default) oStream.Write(sData.ToString) oStream.Flush() bResult = True Catch ex As Exception Finally ' Stream-Objekt schließen If Not IsNothing(oStream) Then oStream.Close() End Try Return (bResult) End Function Einlesen und Anzeigen der gespeicherten Daten ''' <summary> ''' Füllt das ListView mit den Datenzeilen der angegebenen Datei. ''' </summary> ''' <param name="lvw">ListView-Control</param> ''' <param name="DataFile">Dateiname der Datendatei</param> ''' <returns>True, bei Erfolg, andernfalls False.</returns> Public Function lvw_ReadData(ByVal lvw As ListView, ByVal DataFile As String) As Boolean Return lvw_ReadData(lvw, DataFile, True) End Function ''' <summary> ''' Füllt das ListView mit den Datenzeilen der angegebenen Datei. ''' </summary> ''' <param name="lvw">ListView-Control</param> ''' <param name="DataFile">Dateiname der Datendatei</param> ''' <param name="AppendData">True, wenn die Daten angehängt werden sollen. ''' False, wenn das ListView vorher gelöscht werden soll.</param> ''' <returns>True, bei Erfolg, andernfalls False.</returns> Public Function lvw_ReadData(ByVal lvw As ListView, ByVal DataFile As String, _ ByVal AppendData As Boolean) As Boolean Dim bResult As Boolean = False ' Existiert die Datei? If IO.File.Exists(DataFile) Then ' Datei vollständige einlesen und in einzelne Zeilen aufsplitten Dim sLines() As String = My.Computer.FileSystem.ReadAllText( _ DataFile, System.Text.Encoding.Default).Split(Environment.NewLine.ToCharArray) ' Anzahl ListView-Spalten Dim lvwCols As Integer = lvw.Columns.Count lvw.BeginUpdate() ' ggf. ListView löschen If Not AppendData Then lvw.Items.Clear() ' Jetzt die Datenzeilen in das ListView übertragen For i As Integer = 0 To sLines.Length - 1 If sLines(i).Length > 0 Then Dim sData() As String = sLines(i).Split(vbTab) ' Falls die Anzahl Datenspalten nicht mit der Anzahl Spalten ' im ListView übereinstimmen, -> Array "zurechtrücken" If sData.Length < lvwCols Then ReDim Preserve sData(lvwCols - 1) With lvw.Items.Add(sData(0)) For u As Integer = 1 To lvwCols - 1 .SubItems.Add(sData(u)) Next End With End If Next lvw.EndUpdate() bResult = True End If Return (bResult) End Function Dieser Tipp wurde bereits 19.865 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |