kinderueberraschung
Goto Top

CSV Spalten in Datagridview Splitten

Hallo
Ich habe ein fertiges Programm um CSV Dateien über ein Dataset in einem Datagridview anzuzeigen. Diese Daten gehen dann in eine Datenbank und können von einer Webseite aus von der Datenbank angezeigt werden. Alles in der Programmiersprache: Visual Basic

Nun stehe ich vor der Aufgabe:
Eine Spalte in der CSV Datei muss im Datagridview in 4 Spalten gesplittet werden.
z.B: Spalte in CSV Datei = "aa-bb-cc-dd". Diese muss in der Datagridview so aussehen:
Spalte 1 = "aa", Spalte 2 = "bb", Spalte 3 = "cc", Spalte 4 = "dd".

Meine Frage:
Wie setze ich diesen Splitt in dieser Situation ein?
Gibt es auch eine andere Möglichkeit als den Splitt?

Vielen Dank schonmal für die Antworten

Freundliche Grüsse

Kinderueberraschung

Content-Key: 220697

Url: https://administrator.de/contentid/220697

Printed on: April 18, 2024 at 03:04 o'clock

Member: colinardo
colinardo Oct 29, 2013 at 09:39:27 (UTC)
Goto Top
Hallo Kinderüberraschung , Willkommen im Forum!
Ich sehe hier nicht das Problem, du importierst deine Daten in das Datagridview bzw. vorher in ein Dataset wo du dann 4 zusätzliche Spalten erstellst und dann über alle Datenreihen mit einer FOR oder FOREACH-Schleife itterierst, die jeweilige Spalte die die Daten enthält mit Split zerlegst, und den neuen Spalten die gespliteten Werte zuweist. Zum Schluss weist du dem Datagridview das neu erstellte Dataset zu, fertig.
Dim value As String = "aa-bb-cc-dd."  
Dim werte() As String = value.Split("-")  
spalte1 = werte(0)
spalte2 = werte(1)
spalte3 = werte(2)
spalte4 = werte(3)

Grüße Uwe
Member: Kinderueberraschung
Kinderueberraschung Oct 29, 2013 at 10:37:21 (UTC)
Goto Top
Hallo Uwe

vielen Dank für deine schnelle Antwort.
Ich habe das so getestet, komme aber auf einpaar neue Probleme:
Wie müssen die neuen Spalten welche erstellt wurden angesprochen werden?
Wie können Spalten zwischen Spalten hinzugefügt werden ohne dass die anderen angepasst werden müssen?

z.B.
.Columns(0).Name = "User-ID"
.Columns(1).Name = "Name"
.Columns(2).Name = "Vor- und Nachname"
.Columns(3).Name = "Vorname"
.Columns(4).Name = "E-Mail"
.Columns(5).Name = "Organisationseinheit"
.Columns(6).Name = "Rolle"

Ich will die Spalte 5 in 4 Spalten aufteilen die zwischen spalte 4 und 6 eingefügt werden. Dies ohne die weiteren Spalten anpassen zu müssen.

Freundliche Grüsse

Kinderueberraschung
Member: colinardo
colinardo Oct 29, 2013 updated at 12:29:29 (UTC)
Goto Top
füge die neuen Spalten mit Columns.Add() am Ende der Tabelle hinzu und gibst ihnen Namen
dim neueSpalte as DataColumn = DataTable.Columns.Add("Org1")
Hinterher kannst du die Reihenfolge im DataGridView mit der DisplayIndex Eigenschaft einer Spalte anpassen:
datagridview.columns("Org1").displayIndex = 5  
datagridview.columns("Org2").displayIndex = 6  
datagridview.columns("Org3").displayIndex = 7  
datagridview.columns("Org4").displayIndex = 8  
alles weitere findest du problemlos in der MSDN Doku zu den jeweiligen Objekten.
G. Uwe
Member: Kinderueberraschung
Kinderueberraschung Oct 29, 2013 at 13:11:32 (UTC)
Goto Top
Vielen Dank für deine Antwort!
Ich probiere das mal aus face-smile

Kinderüberraschung