Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Textdatei im DataGrid einlesen (VB-NET)

Frage Entwicklung VB for Applications

Mitglied: llowartz

llowartz (Level 1) - Jetzt verbinden

15.06.2010 um 13:06 Uhr, 12074 Aufrufe, 4 Kommentare

Nutze VB.NET Express

Hallo alle VB-NET Profis ;)

frage ... ich habe mehrere Textdateien (CSV) und möchte diese in einen Datagrid einlesen, weiß aber leider nicht wo ich anfangen soll. (Habe noch nie zuvor mit einen DataGrid gearbeitet, kenne mich jedoch in VB.NET ein wenig aus. Könnt Ihr mir ein Hinweis geben oder kurz erläutern wo und wie ich die Datei einlesen kann.

Bisher habe ich die Datei in eine (Zeilen()) Variable eingelesen.

'Beispiel der Textdatei
Lukas; Lowartz; Dahlem; Theißenstr.; 26; bla bla; kecks

Dim i as Integer = 0, Zeilen() as String

Dim TsTR As New IO.StreamReader(Input)
Do Until TsTR.EndOfStream
i = i + 1
ReDim Preserve Zeilen(i)
Zeilen(i) = TsTR.ReadLine
Loop

Zeilen(i) möchte ich jetzt in eine Datagrid wiedergeben ...
Kann ich auch Zeilenkopfinformationen mitgeben? (Excel ähnlich)

Es soll >so< aussehen wenn ich die Datei fertig eingelesen habe.

VName |NName |Ort | Strasse |Nummer |beschreibung |usw
Lukas | Lowartz |Dahlem | Theißenstr | 26 | bla bla |kecks

*lol ... ein wenig Fantasie ist gefragt.... stellt euch einfach vor die "|" Zeichen wären untereinander uns stellten eine Spalte da *lächel

Danke für eure Hilfe und Grüße aus Dahlem

Lukas
Mitglied: Snowman25
15.06.2010 um 15:47 Uhr
etwa schon gelöst?
Schade... bei dem ersten kecks sind meine Augen groß geworden
übrigens gibt es für deine Tabelle bestimmte Formatierungsregeln hier um Forum: Formatierungshilfe
würde dann so aussehen:
VName NName Ort Strasse Nummer beschreibung usw
Lukas Lowartz Dahlem Theißenstr 26 bla bla kecks

Gruß
Snow
Bitte warten ..
Mitglied: llowartz
15.06.2010 um 16:23 Uhr
Hallo Snow,

um ehrlich zu sein, nein, noch nicht .... wusste nicht wirklich wo ich anfangen sollte. Habe bisher noch nicht mit einen "DataGrid" gearbeitet. Wow, sieht klasse aus was du mir gwpostet hast, aber wie bekomme ich das hin? *lach. Bin z.Zt dabei die den String mittels "Mid" zu zerstückeln und in einen Array einzufügen.

Code:
Dim SV_Nr As String = TextFileInhaltFetcher(Zeilen(1), 61, 72 + 1)
Dim Geschlecht As String = TextFileInhaltFetcher(Zeilen(1), 140, 140 + 1)
Dim Titel As String = TextFileInhaltFetcher(Zeilen(1), 183, 197 + 1)
Dim Nachname As String = TextFileInhaltFetcher(Zeilen(1), 142, 181 + 1)
Dim Vorname As String = TextFileInhaltFetcher(Zeilen(1), 215, 254 + 1)
Dim Geb_Datum As String = Mid(TextFileInhaltFetcher(Zeilen(1), 256, 263 + 1), 7, 2) & "." _
& Mid(TextFileInhaltFetcher(Zeilen(1), 256, 263 + 1), 5, 2) & "." _
& Mid(TextFileInhaltFetcher(Zeilen(1), 256, 263 + 1), 1, 4)
Dim Nationalität As String = TextFileInhaltFetcher(Zeilen(1), 274, 276 + 1)
Dim Familienstand As String = TextFileInhaltFetcher(Zeilen(1), 278, 278 + 1)

usw.....

Die Array(s) will ich dann mittels :"frm_4_Convert.dgv_DatenEinlesen.Rows.Add(Systemnr; SV_Nr; Geschlecht,Titel usw .... ) im DataGrid einfügen ....

Nun ja .... es guibt bestimmt einen schnelleren weg .... wenn du lust hast würde ich mich auf eine Nachricht von dir freuen ;)

Grüße
Lukas
Bitte warten ..
Mitglied: Snowman25
15.06.2010 um 16:30 Uhr
Hallo llowartz,

für soetwas gibt es String.Split()
01.
Dim Text As String = "Hallo Leute;Mir gehts gut;Und wie gehts euch?;Ahja" 
02.
Dim Stringarray() As String = Split(Text, ";")
Damit hättest du so ein Array:
Stringarray[0] = Hallo Leute 
Stringarray[1] = Mir gehts gut 
Stringarray[2] = Und wie gehts euch? 
Stringarray[3] = Ahja
Lesestoff dazu findest du hier: .NET-Pearls Split-Beispiele VB.NET

Gruß
Snow
Bitte warten ..
Mitglied: llowartz
27.06.2010 um 10:44 Uhr
Hallo Snow,

vielen Dank für deine Hilfe ... ab mein Problem so gelöst:
1. Ein Array erstellt mit dem ich den DataGridView definiert habe.
2. Alle Daten in einem Array geladen und anschlißen im DataGridView eingefügt.

Um die daten auszulesen habe ich ähnlich gehandelt.

Zum Code:
............. code ................

Dim TsTR As New IO.StreamReader(Datei)
Do Until TsTR.EndOfStream
Zeile = TsTR.ReadLine

If GetWert(Zeile, 61, 12, "") <> "" Then
Select Case Trim(UCase(Mid(Zeile, 17, 8)))
Case "PERSON" : PERSON = StripZeile_Person(Zeile, dgv, ZeilenNr) 'Vorlauf & PERSON wird ausgelesen
Case "BOLO_JHR" : BOLO_JHR = StripZeile_BOLO_JHR(Zeile, dgv, ZeilenNr) 'BOLO_JHR wird ausgelesen
Case "GESPRO" : GESPRO = StripZeile_GESPRO(Zeile, dgv, ZeilenNr) 'GESPRO wird ausgelesen
Case Else : Stop
End Select
Loop


If PERSON <> "" And BOLO_JHR <> "" Then _
dgv.Rows.Add(Split(PERSON & BOLO_JHR, ";"))

............. code ................

End Sub

Grüße aus Dahlem
Lukas
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Visual Studio
gelöst VB.Net - Problem mit Umleitung der Standard-Ausgabe (4)

Frage von emeriks zum Thema Visual Studio ...

Visual Studio
gelöst Vb.net Pfadangabe mit Wildcards wie Stern Regex Pattern (2)

Frage von Pilger83 zum Thema Visual Studio ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (15)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...