Spalte im Datagridview formatieren



  • Hallo,

    ich möchte eine Spalte in meinem Datagridview als Währung formatieren.
    Also anstatt 137,0 soll 137,00€ stehen.

    this.dgvEinzelbest.Columns[9].DefaultCellStyle.Format = "c";
    

    So habe ich es versucht, aber es ändert sich nichts. 😞

    Ist der Code so richtig?
    Bzw. wann muss ich formatieren? Ich habe den Code eingefügt, nachdem der Grid bereits gefüllt wurde und Daten enthält.

    Danke! :xmas2:


  • Administrator

    Wann führst du diese Zeile aus? Vor oder nachdem du die Daten eingefügt hast?

    Grüssli



  • Ich habe schon beides probiert.

    1.) wenn ich auch die Spalten hinzufüge:

    dgvEinzelbest.Columns.Add("ep", "EP");
    dgvEinzelbest.Columns[9].DefaultCellStyle.Format = "c";
    

    2.) nachdem ich die Daten eingefügt habe, also danach:

    dgvEinzelbest[9, i].Value = wert;
    dgvEinzelbest.Columns[9].DefaultCellStyle.Format = "c";
    

    Leider hat es beides Mal nicht funktioniert. 😕


  • Administrator

    Ok, hab nun wegen deiner Aussage ein paar Test durchgeführt. Ich kann das Format vor oder nach dem Einfügen des Wertes verändern und ich bekomme es immer als Währung formatiert. Mir kommen daher nur noch drei mögliche Probleme in den Sinn:
    1. Den Wert, welcher du übergibst, ist vom Typ String.
    2. Du hast keine CultureInfo gesetzt, welche eine Währungsformatierung hat.
    3. Du machst sonst irgendwo etwas falsch, also hast irgendeinen anderen logischen Fehler drin, wodurch du vielleicht die Daten ans falsche DataGridView zuweist oder sonst was ...

    Grüssli



  • @Dravere
    Danke! Hab nen Wert vom Typ string übergeben.
    Wenn ich den umwandle, dann funktioniert auch die Formatierung!


Anmelden zum Antworten