Announcement

Collapse
No announcement yet.

Aus DataGridView ausgewählte Datensätze (SelectedFullRow) in Textboxen übertragen??

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aus DataGridView ausgewählte Datensätze (SelectedFullRow) in Textboxen übertragen??

    Hallo,
    ich bin neu hier im Forum und hab auch gleich mal eine grundlegende frage:

    Ich habe mir im Visual Studio 2008 eine kleine Anwendung gebastelt, die momentan ein Formular mit einem DataGridView enthält, welches Daten aus einer Access-datenbank enthält. In einem zweiten Formular habe ich textboxen, die den Inhalt dieser DatenBank wiederspiegeln. Das ganze wurde mithilfe vom Assistenten "Neue Datenquelle hinzufügen" erstellt und dann per Drag and Drop die Textfelder im zweiten Formular. Sprich ich habe jetzt ein DataSet, ein BindingSource, einen TableAdapter, einen TableAdapterManger und ein BindingNavigator (Automatisch erstellt). Im DataGrid ist die Eigenschaft :SelectionMode auf FullRowSelect gestellt.

    Wie bekomme ich es denn jetzt hin, nur ausgewählte Datensätze im DataGrid in den Textboxen darzustellen und zu bearbeiten?

    Ich konnte auch mit Antworten wie
    http://entwickler-forum.de/showpost....22&postcount=2
    leider nichts anfangen

    ... Ich bin Neuling auf dem Gebiet vb.net Programmierung und hab leider nur bedingt Ahnung. Brauche bitte genaue Beschreibung. Ewiges Googeln hat bisher nichts gebracht ...

    Vielen dank für Euer Mitleid ..

  • #2
    [highlight=vb]
    Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
    Dim i, j As Integer
    i = DataGridView1.CurrentRow.Index
    TextBox1.Text = DataGridView1.Item(0, i).Value
    TextBox2.Text = DataGridView1.Item(1, i).Value
    TextBox3.Text = DataGridView1.Item(2, i).Value
    TextBox4.Text = DataGridView1.Item(3, i).Value
    End Sub

    [/highlight]
    ?
    Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

    Comment


    • #3
      Hallo,

      den Code hatte ich auch schon gefunden.

      die ausgewählten Daten sollen aber den Tableadapter füllen und dann im zweiten Formular in den Textboxen wiedergegeben werden. Ich möchte damit eigentlich erreichen, dass ein User im DataGrid des ersten Form eine Zeile auswählt und sich dann Textboxen in einer 2.ten Form mit eben den vorher ausgeählten Daten füllen. Die Textboxen können dann bearbeitet werden und nach einem Klick auf einen Speicher - Button sollen die veränderten Daten wieder in die Datenbank zurückgegeben werden.

      Soweit ich das verstanden habe, ist der Table-Adapter ja ein virtuelles Abbild der Quelldatenbank, welcher mit abfragen wie beispielsweise .Fill gefüllt werden kann.


      Danke für die Bemühungen

      Comment


      • #4
        Originally posted by Manuelhasi View Post
        Soweit ich das verstanden habe, ist der Table-Adapter ja ein virtuelles Abbild der Quelldatenbank, welcher mit abfragen wie beispielsweise .Fill gefüllt werden kann.
        Nein, das ist sehr ungenau. Der TableAdapter entspricht von der Struktur her dem Abfrageergebnis eines SELECT-Befehls; die dazugehörigen Daten kommen durch den Fill-Befehl. Welche Daten er konkret enthält, hängt also vom Inhalt des SELECT-Befehls ab (zum einen von den darin enthaltenen Spalten, bei JOINs auch von den Tabellen; zum anderen von der WHERE-Klausel).

        Der TableAdapter kann auch mit verschiedenen SELECT-Befehlen arbeiten; und durch den TableAdapterManager können mehrere verknüpft werden.

        Wie das in der Praxis aussieht - vor allem hinsichtlich der von dir gewünschten Flexibilität -, kann ich allerdings nicht sagen, da ich nicht mit Visual Studio und folglich nicht mit TableAdapter arbeite.

        Gruß Jürgen

        Comment


        • #5
          mmmh,

          dann hab ichs doch nicht kappiert ...
          kann mir denn jemand helfen, wie ich das oben genannte Problem am besten lösen kann?

          Wie könnte denn beispielsweise eine Select-Anweiung für das Problem aussehen?

          Comment


          • #6
            Du brauchst dafür kein anderes SELECT Kommando. Du musst einfach die gewählte Zeile (BindingSource.CurrentObject oder so) an die BindingSource im anderen Formular übergeben.

            Comment


            • #7
              und wie ??

              Comment


              • #8
                http://entwickler-forum.de/showthread.php?t=58881

                Schau dir mal den Thread an, dort gibts ein Thema das in die Richtung geht. Jürgen Thomas hat auch einen Link gepostet, bei dems um Kommunikation zwischen Forms geht. Das ist es was Du brauchst

                Comment

                Working...
                X