vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
datatable aus ungebundenem Datagridview 
Autor: thunder_jei
Datum: 05.11.12 15:36

Hallo Zusammen!

Ich suche heute schon den ganzen Tag nach einer Lösung für mein Problem, werde aber leider einfach nicht fündig.

Folgendes Problem:
Ich habe eine Funktion programmiert, welche mir den gesamten Inhalt einer ungebundenen Datagridview übergeben soll (den gesamten Inhalt). Diesen möchte ich dann in eine andere Datagridview einbinden.

Meine Idee war, den Inhalt in einem Datatable zu speichern und per Funktion zu übergeben.
Allerdings will das nicht funktionieren.


Die Funktion
Public Function GetCycleLinearDrive(....) As DataTable
.
.
.
 
GetCycleLinearDrive = datagridview1.datasource
 
 
End Function
Das Programm
datagridview2.DataSource = GetCycleLinearDrive
Es tut sich aber absolut nichts in Datagridview2.
Ich weiß nicht ob ich mit Datasource arbeiten kann, wenn ich eine ungebundene DGV habe!?

Hat jemand einen Tipp, wie ich dieses Problem lösen kann.
Hauptproblem: Wie bekomme ich die Werte einer ungebunden DGV in ein Objekt, welches ich übergeben kann?

Please help!

Danke und schöne Grüße
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: datatable aus ungebundenem Datagridview 
Autor: Manfred X
Datum: 05.11.12 15:45

Hallo!

Die Datasource-Eigenschaft liefert nur eine Referenz auf GEBUNDENE Datenquellen.

Warum schreibst Du die Daten nicht zu Beginn in eine Datatable, sondern
verwendest zunächst ein ungebundenes DatagridView-Control als Datenbehälter?

Ansonsten:
Eine DataTable mit Spalten gemäß denen des Grid ausstatten und dann
in einer Doppelschleife die Zellenwerte in die Table eintragen.

MfG
Manfred
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: datatable aus ungebundenem Datagridview 
Autor: thunder_jei
Datum: 05.11.12 16:15

Hallo Manfred!

Danke für die rasche Rückmeldung!
Das DataGridView berechnet im Hintergrund eine Vielzahl von Werten, daher ist sie ungebunden aufgebaut.

Das heißt also, dass ich mir die Daten nur manuell über Schleifen in eine Datatable holen kann?
Ist im Vergleich zur Datasource sicher langsam und aufwenden, oder?

SG,
Jürgen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: datatable aus ungebundenem Datagridview 
Autor: Manfred X
Datum: 05.11.12 16:24

Hallo!

Das DatagridView-Control berechnet Werte ????

Die Übertragung von Daten geht normalerweise schnell. Probieren.
Unter der Voraussetzung, dass der ValueType der Spalten beim
Füllen des Grid festgelegt worden ist:
    Public Function GetData(ByVal grid As DataGridView) As DataTable
 
        Dim dt As New DataTable
        For i As Integer = 0 To grid.Columns.Count - 1
            dt.Columns.Add(grid.Columns(i).Name, grid.Columns(i).ValueType)
        Next i
 
        For r As Integer = 0 To grid.Rows.Count - 1
            Dim tablerow As DataRow = dt.NewRow
            For c As Integer = 0 To grid.Columns.Count - 1
                tablerow(c) = grid(c, r)
            Next c
            dt.Rows.Add(tablerow)
        Next r
        Return dt
    End Function
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: datatable aus ungebundenem Datagridview 
Autor: thunder_jei
Datum: 05.11.12 16:54

Hallo!

Danke für den Beispielcode!
Ich habe nun aber noch eine Frage zum Verständnis.

Ich übergebe an deine Funktion das DataGridView und bekomme eine DataTable zurück.
Kann ich diese DataTable nicht direkt wieder in eine andere DGV einlesen?

zB
datagridview2.DataSource = GetData(DataGridView1)
Mir ist nicht ganz klar, wie ich die datatable ordentlich weiterverwenden kann.
Ich weiß natürlich, wie ich einzelne Werte aus der DataTable auslese, aber nicht, wie ich Sie als Ganzes in meine DataGridView bekommen.

Schöne Grüße
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: datatable aus ungebundenem Datagridview 
Autor: Manfred X
Datum: 05.11.12 17:06

Hallo!

Kleiner Flüchtigkeitsfehler ...
So muss die Wert-Zuweisung lauten:
tablerow(c) = grid(c, r).Value

Den Wert der Grid-Zelle eventuell vor Zuweisung noch
auf "Nothing" abfragen und in dem Fall "DBNull.Value" verwenden.
      If grid(c, r).Value Is Nothing Then
         tablerow(c) = DBNull.Value
      Else
         tablerow(c) = grid(c, r).Value
      End If
Bei der Datenbindung werden keine Daten ins Grid "eingelesen".
Die Daten bleiben in der Source. Das Grid fungiert dabei nur als
Bindeglied zur Anzeige und zum Editieren.

Beitrag wurde zuletzt am 05.11.12 um 17:22:48 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge 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