Announcement

Collapse
No announcement yet.

Werte in einem Datatable verändern

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

  • Werte in einem Datatable verändern

    Hallo liebes Forum,

    ich bin noch neu hier, bisher habe ich nur Beiträge gelesen und ich finde das Forum hier sehr hilfreich. Jetzt möchte ich mal eine Frage stellen da ich an einer Stelle nicht weiterkomme. Ich möchte ein Programm schreiben mit dem man eine csv Datei einlesen und die Daten darin verändern, editieren kann. Darin stehen die Namen von verschiedenen Studenten und die Messergebnisse von Versuchen bei einem Physikpraktikum an der FH. Spalte A, Name Spalte B Beschreibung Versuch 1, Spalte C gemessene Werte. Das Programm ist auch schon fast fertig, ich möchte noch etwas verändern aber es klappt leider nicht so wie ich möchte. Ich verwende C# das VS 2013 und wpf. Die Datei habe ich schon in einen Datatable eingelesen, der code ist hier:

    Bsp:

    Jan Schmidt; Versuch 1; 10.0 g/l
    Erik Weiss; Versuch 1; 21.0 g/l
    Richard Kohler; Versuch 1; 32.0 g/l

    Code:
    private void CreateDateTable()
    {
    Datatable dt = new Datatable();
    using (Streamreader sr = new Streamreader(@myPathhere))
    {
    string [] line = sr.ReadLine().Split(";");
    foreach (string line in headers)
    {
    dt.Columns.Add(line); }
    while
    (!sr.EndOfStream)
    {
    string[] rows = sr.ReadLine().Split(";");
    ataRow dr = dt.NewRow();
    for (int i = 0; i < headers.Length; i++)
    {
    dr[i] = rows[i]; }
    foreach
    (DataRow drs in dt.Rows)
    {
    foreach (DataColumn col in dt.Columns)
    {
    drs[col] = drs.[col].ToString().Replace("g/l",""); }
    drs[col] = drs[col].ToString().Trim();
    }
    }
    }
    private void Grid_Loaded(object sender, RoutedEventArgs e)
    {
    this.CreateDateTable();
    
    }

    In xaml habe ich ein DataGrid erstellt und mit dem Loaded Event lade ich es, das klappt. Mit dem Trim möchte ich die physikalische Einheit die hinter den Messergebnissen steht entfernen, auch das klappt. Soweit so gut aber, ich verstehe nicht warum die letzte Zeile nicht bearbeitet wird, da steht immernoch g/l. Meine zweite Frage wäre:

    Wie kann ich die Zahlen (alle) die bei mir in Spalte C stehen mit 100 multiplizieren? Es ist nur eine einfache Rechenoperation doch es gelingt mir nicht. Ich würde mich freuen wenn mir hier jemand weiterhelfen könnte.

    Gruß Martin
    Attached Files
    Zuletzt editiert von MaddinCS; 20.03.2019, 23:37.

  • #2
    Trim entfernt nicht die Einheit, sondern das macht Replace("g/l","")-> wäre sinnvoll das Leerzeichen mitzunehmen
    Warum das in der letzten Zeile nicht geht, sollte dir ein debugging zeigen.
    Mehr sehe ich mir diesen unformatierten Code nicht an
    Christian

    Comment

    Working...
    X