vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 1851: DatagridView - Inhalt des DataGridViews in CSV Datei schreiben 
Autor: cubx
 Tipp anzeigenDatum: 12.11.09 04:03

Hallo,

ich versuche vergebens Daten aus einer DataGridView als CSV Datei zu speichern ! Ich habe den obigen Code kopiert und angepasst. Sieht bei mir so aus :

Private Sub SaveToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripButton.Click
''' <summary>
''' Inhalt des DataGridView in eine durch ein Komma
''' getrennte CSV Datei exportieren
''' </summary>
Dim IsCreated As Boolean = ExportDataGridContentToCSVFile(Filename)

Select Case IsCreated
Case True
MessageBox.Show(IsCreated.ToString() & _
" [Datei wurde angelegt]", "Info")
Case Else
MessageBox.Show(IsCreated.ToString() & _
" [Datei konnte nicht angelegt werden]", "Info")
End Select

End Sub

Private Function ExportDataGridContentToCSVFile( _
ByVal Filename As String) As Boolean

Const COLUMN_SEPERATOR As String = ","

' Die Variable Created übernimmt den Kontrollwert,
' ob die Datei angelegt wurde.
Dim Created As Boolean = False
' Fehlerüberwachung einschalten
Try
' StreamWriter initialisieren
Using sw As IO.StreamWriter = New IO.StreamWriter( _
Filename, False, System.Text.Encoding.Unicode)

' Spalten anlegen
For n As Integer = 0 To Count
sw.Write(DataTable1DataGridView.Columns(n))
If (n < Count) Then
sw.Write(COLUMN_SEPERATOR)
End If
Next

' Neue Zeile schreiben und...
sw.Write(sw.NewLine())

' ... den Inhalt des Grids in eine Komma
' getrennte Datei speichern.
For Each dr As DataRow In DataTable1DataGridView.Rows()
For n As Integer = 0 To Count
If Not Convert.IsDBNull(dr(n)) Then
sw.Write(dr(n).ToString())
End If
If (n < Count) Then
sw.Write(COLUMN_SEPERATOR)
End If
Next

' Neue Zeile anlegen.
sw.Write(sw.NewLine())
Next
End Using

' Wurde die Datei angelegt wird die Kontrollvariable
' Created mit True initialisiert
If IO.File.Exists(Filename) Then Created = True

Catch ex As IO.IOException
' Eventuell auftretenden Fehler abfangen
MessageBox.Show(ex.Message(), "Info - IOException")
Catch ex As Exception
MessageBox.Show(ex.Message(), "Info - Exception")
End Try

' Funktionsrückgabe
Return Created
End Function

''' <summary>
''' Anzahl der in der Tabelle vorhanden Spalten ermitteln.
''' </summary>
Private ReadOnly Property Count() As Integer
Get
Return DataTable1DataGridView.Columns.Count - 1
End Get
End Property

''' <summary>
''' Testpfad in dem die CSV Datei gespeichert wird.
''' </summary>
Private ReadOnly Property Filename() As String
Get

Return IO.Path.Combine(Application.StartupPath, ".csv")


End Get
End Property

Nun bekomme ich beim Versuch die Daten zu speichern immer folgende Fehlermeldung :

Unable to cast object of type 'System.Windows.Forms.DataGridView' to type' System.Data.DataRow'.

Kann mir der Verfasser von dem Code oder irgend jemand anderes bitte helfen, weiss nicht wie ich diesen Fehler beseitigen kann, bzw. die Daten als CSV Datei speichern kann. Wie kann ich einen individuellen Pfad angeben ? Vielen Dank
 
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: DatagridView - Inhalt des DataGridViews in CSV Datei schreiben 
Autor: ModeratorDaveS (Moderator)
Datum: 12.11.09 09:37

Der Titel des Tipps ist völlig irreführend, weil kein DataGridView exportiert wird, sondern eine DataTable (oder deren Inhalt). Das ist auch ja sinnvoll so, weil ein DGV dient nur der visuellen Darstellung. Wenn DataTable1DataGridView ein DGV ist wird's nicht gehen.

Ausserdem bitte die Code-Tags verwenden wenn du sowas postet, ist sonst fast unlesbar und wenn du eine Fehlermeldung bekommst bitte immer angeben wo im Code das passiert.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: DatagridView - Inhalt des DataGridViews in CSV Datei schreiben 
Autor: cubx
Datum: 12.11.09 20:22

Hi

erstmal vielen Dank für die rasche Antwort .
hmmmmm..........ok bin halt noch ein Anfänger was VB.Net betrifft, dass heisst also im Klartext ich kann den Inhalt eines DataGridView nicht als CSV Datei speichern ???

PS : Den Titel habe ich nur von meinem Vorgänger übernommen !
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: DatagridView - Inhalt des DataGridViews in CSV Datei schreiben 
Autor: ModeratorDaveS (Moderator)
Datum: 12.11.09 21:25

Wenn dein DGV an eine DataTable gebunden ist (als DataSource) kannst du mit diesem Code den Inhalt der DataTable als Csv speichern. Du kannst den Inhalt einer DataTable so abspeichern ob du ein DataGridView hast oder nicht. Das ganze hat eben im Grunde nichts mit dem DataGridView zu tun. Wenn dein DGV ungebunden ist kannst du den Code in dieser Form nicht verwenden. Du kannst aber in ähnlicher Weise die Reihen und Spalten eines DGVs durchlaufen.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: DatagridView - Inhalt des DataGridViews in CSV Datei schreiben 
Autor: cubx
Datum: 12.11.09 21:53

ok, also ich habe Quasi eine Software die Daten verwaltet, diese werden über SQL auf einem SQL Microsoft 2000 server gespeichert. Diese Daten lasse ich mir in einer DataGridView anzeigen. Jetzt will ich eigentlich nur diese Daten als CSV Datei abspeichern. Hast du vieleicht ein allgemeines Codebeispiel. Ich hab es auch hinbekommen die Daten zu drucken ! THX
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: DatagridView - Inhalt des DataGridViews in CSV Datei schreiben 
Autor: ModeratorDaveS (Moderator)
Datum: 13.11.09 09:52

Diese Daten lasse ich mir in einer DataGridView anzeigen.

Wie denn? Wenn du ganz normal Ado.Net verwendet hast dann hast du schon eine DataTable, die du mit diesem Code benutzen kannst. (Man kann übrigens auch mit Ado.Net eine Csv schreiben, einige Beiträge dazu findest du im Ado.Net Forum).

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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