Laden...

DataGridView - Nachkommastellen

Letzter Beitrag vor 17 Jahren 11 Posts 5.748 Views
DataGridView - Nachkommastellen

Hi,

für meine Anwendung verwende ich als Datenquelle eine Access-Datei, welche u.a. in einer Tabelle eine Spalte mit dem zugewiesenen Typ "Währung" (Format: z.B. 25,90 €) hat.
Ich kann also z.B. 25,9 eingeben und in der Datenbank wird trotzdem 25,90 € angezeigt. Wenn ich die Spalte aber in meiner Anwendung auslese und in einem DataGridView anzeigen will, dann wird wieder einfach nur 25,9 angezeigt. Auf das Eurozeichen kann ich ja verzichten, aber die zweite Nachkomastelle hätte ich schon ganz gerne ohne das ich sie ständig per Hand überall dranbasteln muss.

Kann ich das im DataGridView irgendwie einstellen?

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

Aber wofür soll das gut sein? – Advanced Computing Systems Division von IBM, 1968, zum Microchip

Danke, dass ist ja genau das Richtige, nur wie kann die der Spalte sagen, dass sie das so darstellen soll? Oder muss ich das etwa doch irgendwie von hand bei jedem Wert einbauen?

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

Am besten ist, du lässt in einer Schleife alle Strings formatieren...
Ich wüste nichts anderes...

Aber wofür soll das gut sein? – Advanced Computing Systems Division von IBM, 1968, zum Microchip

Oh schade, ich dachte dafür gäbe es eine elegantere Lösung.

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

Aber wie soll ich denn die Werte durchlaufen? Die sind doch im DataGridView bzw im DataSet.
Die Lösung gefällt mir so noch garnicht.

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

Öhm also ich würds ganz anderst machen, ich würde im DataGridView auf die Eigenschaften der Geldspalte gehen und dort "DataGridViewCellStyle { NullValue=0,00, Format=C2, Alignment=MiddleRight }" einstellen 🙂

C2 = Währung

Hoffe das hilft dir mehr 😉

Greets Azzy

[**(¯`·._.·[The Higher Community]·._.·´¯)**](http://www.nexus-der-macht.de/)

Jetzt weiß ich auch wieder was mehr ~+ habe gerade

			string newString;
			
			foreach (System.Windows.Forms.DataGridViewRow row in dataGridView1.Rows)
			{
				foreach( System.Windows.Forms.DataGridViewCell  cell in row.Cells )
				{
					try
					{
						newString = string.Format("{0:c}", Double.Parse(cell.Value.ToString()));
						cell.Value = newString;
					}
					catch
					{
						
					}
				}
			}

geschrieben...

Aber wofür soll das gut sein? – Advanced Computing Systems Division von IBM, 1968, zum Microchip

Hmm, wenn noch etwas mehr reinbauen möchtest nutzt System.Globalization.NumberFormatInfo .String("C", oNumberFormatInfo);

Dann bekommst auch Euro rein usw. hat den Vorteil das wenn mal Sprache ändern musst das ganze nur noch an einer Stelle zu ändern brauchst. 😃

Auch das von Azrael Masters mit verwenden, dann spaarst dir die Schleife.

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(

Oh super, das ihr euch doch noch weiter Gedanken gemacht habt.
Das ist jetzt genau das was ich gesucht habe.

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

Hallo,

hierzu hätte ich auch noch eine Frage:

Ich arbeite mit einem DGV, eine Spalte hat eben jene oben genannten Währungsformatierungen. Dem DGV werden duch manuelles Databinding Zeilen hinzugefügt. Zusätzlich gibt es ein CellEndEdit Event, damit der Benutzer einige Zellen editieren kann. Nun ist es so, dass die Währungsformatierung erst angezeigt wird, nachdem das CellEndEdit Ereignis gefeuert wurde. Wie kann ich erreichen dass dies gleich, also nach dem hinzufügen der Zeile geschieht?

Gruß & sonnigen Sonntag,

thepixel

Mfg, Christian