| |
| In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.
Hinweis: Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden! | Fragen zu Tipps & Tricks und Workshops im vb@rchivRe: ListView-Inhalt in Datei speichern und wieder auslesen | | | Autor: Manfred X | Datum: 09.03.13 11:17 |
| Hallo!
Probier mal diese Variante - grob getestet.
Geänderte Parameterliste beachten.
''' <summary>
''' Füllt das ListView mit den Datenzeilen der angegebenen Datei.
''' </summary>
''' <param name="lvw">zu füllendes ListView-Control</param>
''' <param name="DataFile">Dateiname der Datendatei</param>
''' <param name="lineseparator">Zeilen-Trennzeichenfolge</param>
''' <param name="fieldseparator">Feld-Trennzeichenfolge (innerhalb der
' Zeilen)</param>
''' <param name="CreateColumns">Anzahl zu erstellender Spalten (oder -1)</param>
''' <param name="AppendData">True, wenn die Daten angehängt werden sollen.
''' False, wenn das ListView vorher gelöscht werden soll.</param>
''' <param name="LinesRead">Anzahl gelesener Zeilen</param>
''' <returns>True, bei Erfolg, andernfalls False.</returns>
Public Function lvw_ReadData(ByVal lvw As ListView, _
ByVal DataFile As String, _
Optional ByVal lineseparator As String = _
vbNewLine, _
Optional ByVal fieldseparator As String = ";", _
Optional ByVal CreateColumns As Integer = -1, _
Optional ByVal AppendData As Boolean = False, _
Optional ByRef LinesRead As Integer = -1) As _
Boolean
Dim bResult As Boolean = False
Try
' Existiert die Datei?
If IO.File.Exists(DataFile) Then
' Datei vollständige einlesen und in einzelne Zeilen aufsplitten
Dim sLines() As String = IO.File.ReadAllText( _
DataFile, System.Text.Encoding.Default).Split({lineseparator}, _
StringSplitOptions.RemoveEmptyEntries)
' Anzahl ListView-Spalten
Dim lvwCols As Integer = lvw.Columns.Count
' ggf. Anzahl Spalten sicher stellen
If CreateColumns > 0 And lvwCols < CreateColumns Then
While lvwCols < CreateColumns
lvw.Columns.Add("SP_" & CStr(lvwCols + 1))
lvwCols = lvw.Columns.Count
End While
End If
lvw.BeginUpdate()
' ggf. Zeilen im ListView löschen
If Not AppendData Then lvw.Items.Clear()
LinesRead = 0 'Zähler für gelesene Zeilen init.
' Jetzt die Datenzeilen in das ListView übertragen
For i As Integer = 0 To sLines.Length - 1
Dim sData() As String = sLines(i).Split({fieldseparator}, _
StringSplitOptions.None)
'Zeile im Listview anhängen / Hauptspalte füllen
Dim lvi As ListViewItem = lvw.Items.Add(sData(0))
'Ermittlung der Anzahl auszugebender Spalten / Subitems
Dim cols As Integer = Math.Min(lvwCols, sData.Length)
'Subitems eintragen
For u As Integer = 1 To cols - 1
lvi.SubItems.Add(sData(u))
Next u
LinesRead += 1
Next i
lvw.EndUpdate()
bResult = True
End If
Catch
End Try
Return (bResult)
End Function
Beitrag wurde zuletzt am 09.03.13 um 11:39:09 editiert. | |
| Sie sind nicht angemeldet! Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats 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
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
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.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|