Formatierung dataGridView

27/03/2010 - 14:27 von Uli Münch | Report spam
Hallo NG;

ich habe heute erstmals ein dataGridView mit Daten gefüllt, funktioniert
perfekt.
Es gibt allerdings zwei Schönheitsfehler.
Columns mit Dezimalwerten werden linksbündig dargestellt, ich vermute das
kann man àndern?
Datumswerte werden im SQL-Server als DateTime gespeichert, kann man die
Darstellung so veràndern dass die Nullen des Time-Anteils nicht gezeigt
werden?

Da die Columns programmatisch hinzugefügt werden, müsste die Formatierung
auch programmatisch erfolgen.

Ich bedanke mich für jeden Tipp und wünsche ein schönes Wochenende,

mfG
Uli Münch
 

Lesen sie die antworten

#1 Frank Dzaebel
27/03/2010 - 15:29 | Warnen spam
Hallo Uli,

ich habe heute erstmals ein dataGridView mit Daten gefüllt, funktioniert
perfekt.



Ist auch ein gutes Control.


Columns mit Dezimalwerten werden linksbündig dargestellt, ich vermute
das kann man àndern?



ja, zum Beispiel mittels "DefaultCellStyle.Alignment" (s.u.).


Datumswerte werden im SQL-Server als DateTime gespeichert, kann man die
Darstellung so veràndern dass die Nullen des Time-Anteils nicht gezeigt
werden?



ja, zum Beispiel mittels "DefaultCellStyle.Format" (s.u.).
Hier ein grober Ansatz:

DataGridView dgv = new DataGridView();

private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable("Daten");
dt.Columns.Add(new DataColumn("Name"));
dt.Columns.Add(new DataColumn("Preis", typeof(double)));
dt.Columns.Add(new DataColumn("Datum", typeof(DateTime)));
AddNewRow(dt, "Dagobert Duck", 12.95, DateTime.Now);
AddNewRow(dt, "Donald Duck", 123.5, DateTime.Now.AddDays(1));
AddNewRow(dt, "John Mustermann", 5.15, DateTime.Now);
dgv.DataSource = dt;
dgv.AutoSizeColumnsMode DataGridViewAutoSizeColumnsMode.DisplayedCells;
dgv.Location = new Point(15, 15); this.Controls.Add(dgv);
dgv.Columns[1].DefaultCellStyle.Alignment DataGridViewContentAlignment.MiddleRight;
// dgv.Columns[1].DefaultCellStyle.Format = "C"; //Wàhrung
dgv.Columns[2].DefaultCellStyle.Format = "d";
//dgv.Columns[2].DefaultCellStyle.Format = "dd.MMMM yyyy";
dgv.Dock = DockStyle.Fill;
}

private void AddNewRow(DataTable dt, string name,
double preis, DateTime datum)
{
DataRow dr = dt.NewRow(); dr[0] = name;
dr[1] = preis; dr[2] = datum; dt.Rows.Add(dr);
}

[Gewusst wie: Formatieren von Daten im DataGridView-Steuerelement in
Windows Forms]
http://msdn.microsoft.com/de-de/lib...2790s.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen