Zum Inhalt springen

DataGridView1 in DataGridView2 übertagen?


Audi

Empfohlene Beiträge

Hallo,

ich stehe jetzt vor dem nächsten großen Problem...

Ich habe 2 DataGridViews und 1 Button auf der Form.

Das ganze soll so funktionieren: Der User markiert eine beliebige Zeile (Zeile hat 8Spalten) im DataGridView1, drückt einen Button und die markierte Zeile wir in der DataGridView2 auch angezeigt.

Es soll so zusagen eine manuelle selection erfolgen können.

Nun habe ich folgenden Code, dieser gibt mir die Zeilenposition aus aber nicht dass was in den Einzellnen Zellen ist?

Mein Plan ist es mit Hilfe der Zeilenposition die Zeile ins DataGridView2 zu übertragen.


        private void btnSelect_Click(object sender, EventArgs e)

        {

            dgvDisplay1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;


            //string inhalt = dgvDisplay1.CurrentCell.Value.ToString();

            string inhalt = dgvDisplay1.SelectedRows.ToString();

            string zeile = dgvDisplay1.CurrentCellAddress.Y.ToString();

            string spalte = dgvDisplay1.CurrentCellAddress.X.ToString();



            MessageBox.Show("Inhalt = " + inhalt + " ; Zeile = " + zeile + " ; spalte = " + spalte);

        }

Was mache ich falsch? bzw. wie muss ich vorgehen um es so hinzubekommen wie es oben aufgeführt ist?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

dein 2. Grid ist somit ungebunden oder ?? Wenn ja sollte nachfolgender Code funktionieren. Achtung ich schreibe es Auswendig, es könnte also ein kleiner Fehler drin sein *G*

1. Das 2. Grid muss die selben Columns haben wie das erste:


        Dim col As DataGridViewTextBoxColumn


        col = New DataGridViewTextBoxColumn

        col.Name = "ID"

        col.HeaderText = "ID"

        Me.ZweitesGrid.Columns.Add(col)


        col = New DataGridViewTextBoxColumn

        col.Name = "Text"

        col.HeaderText = "Text"

        col.Width = 440

        Me.ZweitesGrid.Columns.Add(col)

2. Im ersten Grid die markierten Nodes durchlaufen. (Dieser Teil gehört in den Abschnitt Button.Click)

Dim inZaehler, inZaehler2 as Integer

Dim row As DataGridViewRow

inZaehler = 0

While inZaehler <= Me.ErstesGrid.SelectedRows.Count - 1

   inZaehler2 = 0

   While inZaehler2 <= Me.ErstesGrid.Row(Me.ErstesGrid.SelectedRows(inZaehler)).Cell.Count

      row = New DataGridViewRow

      row.CreateCells(Me.ZweitesGrid)

      row.Cells(0).Value = Me.ErstesGrid.Row(Me.ErstesGrid.SelectedRows(inZaehler)).Cell(0).Value

row.Cells(1).Value = Me.ErstesGrid.Row(Me.ErstesGrid.SelectedRows(inZaehler)).Cell(1).Value

      ZweitesGrid.Rows.Add(row)

Zu Hause hätte ich den vollständigen Code (habe das nämlich auch schon mal gemacht ;-) aber ich glaube du solltest mit diesem Codeausschnitt zurecht kommen.

Gruß Hans-Jörg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...