DataGridView makierte Zeile befüllen und auslesen

Polli

Mitglied
Hallo alle zusammen,

ich hab mal ne Frage und zwar ich habe ein DataGridView erstellt mit 5 Spalten und n Zeilen (die Zeilen werden manuell hinzugefügt).
Ich habe die Tabelle mit 3 zugefügten Spalten angehangen als Bild.

Ich möchte wenn ich auf die Lupe klicke und einen Pfad ausgewählt habe, dass der gewählte Pfad in der selben Spalte (wie die angeklickte Lupe) unter Speicherort geschrieben wird.
Ich habe schon einige Sachen ausprobiert und auch ein bisschen im Internet rum gesucht, man kann es gewiss recht einfach finden, doch irgendwie ist meine Konzentration ziemlich mau...
Könnt ihr mir helfen, wie ich das am einfachsten und besten Lösen kann.

Wie bekomme ich heraus:
Welchen Index die gewählte Spalte hat?
Wie setzte ich manuell den Text in der Spalte?
Wie kann ich den gesetzten Text wieder auslesen?


Herzlichen Dank im voraus schon mal :)

Lg Polli
 

Anhänge

  • DataGridView.jpg
    DataGridView.jpg
    22,2 KB · Aufrufe: 80
Okay ich glaube die Zeile und Spalte bekomme ich mit
dataGridView1.CurrentCell.RowIndex oder dataGridView1.CurrentCell.ColumnIndex raus.
Also probiere ich mal weiter ;)
 
Mhh... ich bin nicht weiter gekommen.
Ich kann zwar Daten eintragen, aber dann ist immer die erste Zeile (also wo der Name steht) mit gefüllt, wie kann ich das umgehen?
Ausserdem habe ich immer noch nicht herausgefunden, wie ich die einzelnen Zeilen wieder auslese. Kann mir da jemand helfen?

Wäre echt klasse :)
 
Ich möchte wenn ich auf die Lupe klicke und einen Pfad ausgewählt habe, dass der gewählte Pfad in der selben Spalte (wie die angeklickte Lupe) unter Speicherort geschrieben wird.
Ich nehme mal an du meinst die selbe Zeile und nicht die selbe Spalte.

Ich würde dem DataGridView einfach einen CellClick Event-Handler überbraten.
Innerhalb des Event-Handler kannst du dann die DataGridViewCellEventArgs verwenden um herauszufinden wohin geklickt wurde.

Hier ein Beispiel:

C#:
//Event-Handler binden
this.dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick);

void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex.Equals(2)) // Überprüft ob auf die Spalte mit der Lupe geklickt wurde
            {
                using (OpenFileDialog ofd = new OpenFileDialog())
                {
                    DialogResult res = ofd.ShowDialog();
                    if (res == System.Windows.Forms.DialogResult.OK)
                        dataGridView1.Rows[e.RowIndex].Cells[1].Value = ofd.FileName; // Schreibt den Pfad+Dateinamen in die selbe Zeile in Spalte 1
                }
            }
        }
 
Zurück