Kezdeti lépésként készítsünk most egy igen egyszerű példát: hozzunk létre egy memóriabeli táblát, melynek adatszerkezetét típusos adatkészlettel írjuk le.
Ehhez elsőként adjunk hozzá a projektünkhöz egy ilyen DataSet-et. Ehhez válasszuk a Project - Add New Item menüpontot, majd a megjelenő ablakban keressük elő a Data Set elemet.
Alapértelmezésben kapunk egy Dataset1.xsd állományt, mely a szerkesztőben egy üres és igen sárga lapként jelenik meg. Keressük elő most a Toolbox-ot. Itt az XML Schema lapon találjuk azokat az eszközöket, melyekkel az adatszerkezetünket kialakíthatjuk. Fogjunk meg egy Element nevű eszközt és húzzuk erre a sárga lapra.
Válasszuk most a Properties ablakot. Ha az imént elhelyezett Element elem az aktív, akkor a Properties-ben láthatóak lesznek a tulajdonságai. Állítsuk be a Name property-nél a FirstTable értéket. Ezzel nevet adtunk a táblának. Most kattintsunk az Element táblázatára és hozzuk létre ennek a táblának az oszlopait, vagyis adjuk meg a tábla szerkezetét. Legyen három oszlopa A, B és C. Az első legyen string, a második int, végül a harmadik boolean típusú.
Ezzel az adattáblát létre is hoztuk.
Ha most átváltunk a DataSet nézetről az XML nézetre, akkor megláthatjuk, hogy minek a begépelésétől kímélt meg bennünket a Visual Studio.NET:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="Dataset1" targetNamespace="http://tempuri.org/Dataset1.xsd" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns="http://tempuri.org/Dataset1.xsd" xmlns:mstns="http://tempuri.org/Dataset1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="Dataset1" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="FirstTable">
<xs:complexType>
<xs:sequence>
<xs:element name="A" type="xs:string" minOccurs="0" />
<xs:element name="B" type="xs:int" minOccurs="0" />
<xs:element name="C" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Tartozik ehhez a DataSet1.xsd-hez egy forráskód is, melyet a Visual Studio.NET szintén automatikusan tart karban. Érdemes azonban ebbe is belepillantani. Mivel ez a forráskód nem kerül automatikusan az adott projekthez hozzáadásra, így a Solution Explorer-ben ne is keressük. Helyette tallózzunk el abba a mappába, ahol a programunk található és ott keressük elő a Dataset1.cs nevű forráskódot.
Látható, hogy adott benne egy Dataset1 nevű osztály, melyet majd fel is használunk. Ennek az osztálynak számtalan tulajdonsága, függvénye van és további osztályai vannak.
Ilyen például a FirstTableDataTable, mely a DataTable osztályból származik. Ez képviseli az általunk feltett Element objektumot és a benne létrehozott oszlopokat. Ennek megfelelően találunk is benne három property-t: AColumn, BColumn, CColumn névvel, melyek a tábla három oszlopát képviselik DataColumn típusban. Ezeken keresztül elérhetjük majd az adatokat, sőt értéket is adhatunk nekik.
Találunk egy FirstTableRow nevű osztályt is a DataRow osztályból származtatva, mely a táblánk egy-egy sorát képviseli. Ezen belül is képesek leszünk elérni az egyes oszlopokat, melyekhez kapunk egy A, B és C nevű property-t.
Nézzük most miként is tudjuk programból ezt felhasználni és létrehozni egy datakészletet, amit egy DataGrid-be meg is jelenítünk.
Ehhez nem kell mást tennünk, mint létrehozni egy példányt a Dataset1 osztályból.
Adattároláshoz több módszer is rendelkezésünkre áll. Ha egy teljes adatsort szeretnénk egy lépésben felvenni, akkor ehhez az adatkészlet FirstTable property-jén keresztül elérhető Rows property Add függvényét hívjuk, melyen átadhatunk egy tömböt a felveendő adatokkal.
Végül már csak a DataGrid-hez kell kötnünk az adathalmazt, hogy az látható is legyen.
private void button1_Click(object sender, System.EventArgs e)
{
Dataset1 ds = new Dataset1();
object[] o = {"SoftwareOnline", 2003, true};
ds.FirstTable.Rows.Add(o);
dataGrid1.DataSource=ds. FirstTable.DefaultView;
}