Text einer Zelle bzw. Spalte in einem DataGridView autom. editieren



  • Hallo,

    also mein Problem ist folgendes. Ich habe in einem DataGridView Daten gespeichert, es handelt sich um Texte. Nun möchte ich auf den String einer Zelle oder auch ganzen Spalte zugreifen und den Text verändern, jedoch nicht manuell.

    Der Editierfunktion übergebe ich u.a. den DataTable des DataGridViews

    dataGridView.DataSource = CSVEdit.Replace((DataTable)dataGridView.DataSource,1,1,1,1, "s", "?");
    

    Da man in der Mainform Zugriff auf die DataGridView-Komponente hat, kann ich dort ja mit

    dataGridView.Rows[index].Cells["columnname"];
    

    auf eine beliebige Zelle zugreifen.
    Aber wie kann ich auf den String einer Zelle zugreifen und ihn manipulieren, wenn ich nur das DataTable einer Funktion übergebe und dort zur Verfügung habe?datatable.Rows[index].Cells gibt es da nicht...
    Oder wäre ein anderer Ansatz besser?

    Vielen Dank für Eure Hilfe, viele Grüße
    Cain



  • Habe bis jetzt folgende Lösung zum editieren einer Spalte:

    for (int j = colindex; j < colindex + colLength; j++)
    {
      for (int i = 0; i < dt.Rows.Count; i++)
      {
    
          str = dt.Rows[i][j].ToString();
          str = str.Replace(searchStr, replaceStr);
          dt.Rows[i][j] = str;
      }
    }
    

    Die Lösung funktioniert zwar aber ist es wirklich notwendig durch alle Zeilen komplett durchzulaufen, wenn ich eigentlich nur eine Spalte editieren möchte?
    Weiß im moment keinen anderen Zugriff auf eine Spalte, indem ich in jeder Zeile die entsprechende Zelle betrachte....


Anmelden zum Antworten