Wie funktioniert dieses Datagrid?
-
Also, folgender Code, sollte funktionieren, wenn Du ihn z.B. in das Form_Load Event kopierst.
SqlConnection conn = new SqlConnection("Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;"); SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", conn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); DataGrid grid = new DataGrid(); grid.Location = new Point(10, 10); grid.Size = new Size( 300, 500 ); da.Fill(ds); grid.DataSource = ds.Tables[0]; this.Controls.Add(grid);
Du solltest Dich vielleicht mal Klassen und Instanzen von Klassen auseinander setzen. Ein Buch, hmm, wie fit bist Du? Für Windows Programmierung würde ich den Petzold empfehlen, denn da lernst/liest Du wie alles ohne Designer/Wizzard -unterstützung entwickelt wird.
-
juhu es funktioniert...danke
-
ok nächstes problem:
ich hab jetzt herausgefunden wie ich ne XML Datei öffne, den Inhalt ins DataGrid einfüge und dann wieder als XML file speichern kann. Jetzt will ich einfach ne Zeile ins Datagrid einfügen (sozusagen nen neuen Datensatz beim Drücken eines Buttons anlegen). Nun spuckt mir die Hilfe aus, dass ich ne DataTable dafür erstellen muss. Stimmt das oder kann man auch direkt mit dem DataGrid arbeiten? wenn ja wie? (hab dazu nix weiter gefunden)
-
Datagrid.DataSource.
Folgende Datenquellen sind gültig:
Eine DataTable
Eine DataView
Ein DataSet
Ein DataViewManager
Eine beliebige Komponente, die die IListSource-Schnittstelle implementiert
Eine beliebige Komponente, die die IList-Schnittstelle implementiertVerwende doch ein DataSet, dieses hat auch 2 Methoden für XML Dateien ( ReadXml und WriteXml ).
-
mach ich doch - oder hab ich da wieder was durcheinander gebracht *grübel*
also ich lese ne xml datei aus und fülle damit ein dataset, welches über einem datagrid ausgegeben wird. jetzt muss ich wohl das dataset erweitern und dann wieder als xml file abspeichern, wenn ich sozusagen neue datensätze ins xml file eintragen möchte. nur wie erweitere ich das dataset? muss ich dafür ne datatable erstellen und das dann irgendwie mergen oder geht das auch einfacher?
-
In dem DataSet ist bereits eine DataTable enthalten, in der Deine Daten drinstehen.
dataSet.Tables[name oder index]
-
ah ok und die bearbeite ich und schreib die ins dataset zurück oder bearbeite ich das dataset automatisch wenn ich die datatable bearbeite?
-
Beim Laden des Grids oder der Form:
dataSet.ReadXml( "C:\\..." ); dataGrid.DataSource = ds.Tables[0];
Fürs speichern:
dataSet.WriteXml( "C:\\..." );
-
öhm ich glaub du hast mich nicht verstanden...das was du da geschrieben hast weiß ich bereits schon...ich möchte wissen wie ich vorgehen muss, wenn ich das dataset bzw. die datatable bearbeiten will. das ich das dataset dann als xml file speichern kann ist mir durchaus bewußt.
-
DataRow row = dataSet.Tables[0].NewRow(); row["..."] = ...; dataSet.Tables[0].Rows.Add( row );
So in der Art.
-
ok danke funktioniert prächtig