public DataTable loadMatImpTable(String query)
{
myConn.Open();
SQLiteCommand cmd = new SQLiteCommand(query, myConn);
SQLiteDataAdapter sda = new SQLiteDataAdapter();
sda.SelectCommand = cmd;
DataTable dt= new DataTable();
sda.Fill(dt);
return dt;
}
Das DataGridview befülle ic dann wie folgt:
DataTable dt = lt.loadMatImpTable(queryMat);
this.matExpDataGridVW.Columns["Preis"].DefaultCellStyle.Format = "c"; //Greift nicht
this.matDataGridVW.Rows.Clear();
foreach (DataRow item in dt.Rows)
{
int n = matDataGridVW.Rows.Add();
matDataGridVW.Rows[n].Cells[0].Value = false;
matDataGridVW.Rows[n].Cells[1].Value = item["MaterialID"].ToString();
matDataGridVW.Rows[n].Cells[2].Value = item["Name"].ToString();
matDataGridVW.Rows[n].Cells[3].Value = item["Preis"].ToString();
}
Nun möchte ich die Spalte[3] bzw. ["Preis"] als Euro/Währung ausgeben lassen. Das greift nur leider nicht. Ich habe es auch schon probiert, dies in der Form.Designers.cs zu konfigurieren. Interessanterweise hat dies funktioniert, als ich die Tabellen über eine BindingSource als Datasource befüllt habe.
Wo und wie kann ich in der obigen Implementierung das Format der Spalte für Währungen konfigurieren?
VG niesel
Hallo niesel,
ich denke dass es daran liegt dass Du in der Spalte "Preis" einen String ablegst und kein double/decimal... d.h. mach das ".ToString()" weg dann wird es vielleicht funktionieren.
Gruß
steffen
Und hör damit auf die Daten uns Grid zu friemeln.
matDataGridVW.DataSource = dt;
reicht vollkommen aus.
Das habe ich aus einem Tutorial, welches sich damit beschäftigt eine Selectbox in dieses View zu integrieren. Ich geh mal davon aus, dass der Autor dieses Tutorials aus diesem Grund diesen Weg gewählt hat.
Bei WinForms sind viele viele Tutorials vor allem bei DataBinding mangelhaft.
Soviel nur als Hinweis..
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code