Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - DataGrid und füllen mit dataTable


foxy - Mo 14.07.08 15:37
Titel: DataGrid und füllen mit dataTable
Sers Leute
hab mal wieder ein Problemchen ;)

also ich will mein datagrid mit einer datatable füllen.
Das versuche ich wie folgt:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
DataTable dt = new DataTable();
DataRow dr;

SqlCeDataReader reader = con.getData(query) //hier bekomme ihc ein Datareader object zurück mit natürlich shcon den inhalten der SELECT
while(reader.Read())
{
  dr = dt.NewRow();
  dr["Beleg_nr"] = reader["beleg_nr"].ToString();
  dr["betrag"] = reader["betrag"].ToString();
  dt.Rows.Add(dr);
}
dataGrid.DataSource = dt;


sodalle ...
also die daten bekomme ich richtig, also der datareader macht mir keine schwierigkeiten, wenn ich das nun laufen lasse, bekomme ihc nen laufzeitfehler und zwar

System.ArgumentException: Die Spalte "beleg_nr" gehört nicht zu Tabelle . bei System.Data.DataRow.GetDataColumn(Sting columnName)

was könnte das sein ?

greetz


Christian S. - Mo 14.07.08 15:41

Die Fehlermeldung ist doch irgendwie sehr leicht verständlich: Es gibt keine Spalte mit diesem Namen in der Tabelle.


foxy - Mo 14.07.08 15:46

also die Select

SELECT beleg_nr, betrag FROM beleg

bekomme da auch die richtigen daten raus.

Muss ich irgendwo nach was anlegen in der DataTable ? das wäre eine vermutung von mir


Edit:
also die Anleitung war unvollständig:

Ich musste mit

C#-Quelltext
1:
2:
dt.Columns.Add("beleg_nr");
dt.Columns.Add("betrag");

anlegen.


Christian S. - Mo 14.07.08 16:01

Ach so, ich dachte Du hättest Deinen Quelltext gekürzt gepostet. ;-)


foxy - Mo 14.07.08 16:07

huhu :>

ja habsch auch ;) nur das war eben noch nicht drin ;)


danke