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, 12284 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 ..
Ähnliche Inhalte
VB for Applications
VB.net Combobox databinding langsam (4)

Frage von ForgottenRealm zum Thema VB for Applications ...

Visual Studio
gelöst Vb.net: Word-Doc seitenweise durchsuchen nach Textmarke (7)

Frage von ahstax zum Thema Visual Studio ...

Basic
gelöst Mit vb.net PDF in Word-Dok einfügen (10)

Frage von ahstax zum Thema Basic ...

Visual Studio
gelöst VB.Net - Hilfe bei Regex (8)

Frage von emeriks zum Thema Visual Studio ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Windows Server
gelöst Netzlaufwerk RemoteApp auf Win 2012 R2 Terminalserver funktioniert nicht (12)

Frage von grenzde zum Thema Windows Server ...

Basic
Programmierung von Windows Programmen (8)

Frage von Ghost108 zum Thema Basic ...