C# - Web DataGrid kontrol használata

DataGrid 1. rész

forráskód letöltése
Új sorozatunkban az ASP.NET Web alkalmazások készítésekor használható DataGrid kontrollal ismerkedünk meg részletesen.
Mostani, első részben azt nézzük meg, hogy miként jeleníthetjük meg a DataGrid-ben egy MS SQL lekérdezés eredményét vizuális szerkesztéssel, melyhez szinte nem is kell forráskódot gépelni.
A mellékelt példa futtatása előtt az sqlConnection1 komponens ConnectionString property-jét javítsa a megfelelő értékekkel az MS SQL Northwind adatbázis elérésének érdekében.
Az újonnan megnyitott ASP.NET Web alkalmazás WebForm1 lapjára tegyünk egy DataGrid kontrolt, majd a ToolBox Data lapjáról tegyünk fel egy SqlDataAdapter komponenst. Ennek segítségével érjük most el az SQL szervert és ott egy select lekérdezést hajtunk végre. A komponens felrakása után rögtön elindul a hozzá tartozó varázsló. Ennek első kérdése, hogy milyen kapcsolatot szeretnénk használni. Ha már van meglévő kapcsolatunk az MS SQL adatbázis Northwind példaadatbázisához, akkor válasszuk azt, ha nincs, akkor a New Connection gombra kattintsunk és készítsünk egy kapcsolatot az MS SQL Northwind adatbázishoz.
Következő lépéshez válasszuk a Use SQL statements típusú lekérdezést. Ezt követően adjuk meg a select * from categories lekérdezést, melyet akár a Query Builder-el is megszerkeszthetünk. Ezzel a varázslót be is zárhatjuk.
Az SqlDataAdapter-hez automatikusan létrejön egy SqlConnection komponens is, ha még nem volt az alkalmazásunkban. Ezen keresztül jön létre a kapcsolat.
Ahhoz, hogy a már meglévő DataGrid-hez hozzá tudjuk kötni az SqlDataAdapter által lekérdezett adatokat, szükségünk lesz egy köztes tároló elemre, amely egy DataSet típusú objektum lesz.
Ennek létrehozásához kattintsunk jobb gombbal az SqlDataAdapter komponensen és válasszuk a Generate Dataset menüpontot. A megjelenő ablakban fogadjuk el a felajánlott értékeket. Ekkor létrejön egy dataSet11 nevű DataSet típusú komponens is, mely tartalmazza a select-ben megfogalmazott categories táblát. Ehhez tartozik egy DataSet1.cs nevű forráskód állomány és egy DataSet1.xsd, melyet érdemes tanulmányozni annak felhasználási lehetőségei miatt.
Ha az SqlDataAdapter komponensen jobb gombbal kattintunk, akkor találunk egy Preview Data menüpontot is. Itt megtekinthetjük, hogy milyen adatok állnak rendelkezésünkre az SqlDataAdapter-ben. Ehhez a megjelenő ablakban még a Fill Dataset nevű gombra kell kattintanunk.
Most már hozzáköthetjük az adatokat a DataGrid-hez. Ehhez kattintsunk a DataGrid-re, majd a Properties ablakban keressük elő a Data kategóriában lévő DataSource property-t. Itt a legördíthető listából válasszuk ki a dataSet11 komponenst, majd a DataMember property-nél a Categories táblát.
Ezzel tulajdonképpen készen is lennénk, de ha most indítanánk alkalmazásunkat, akkor még nem jelenne meg adat a DataGrid-ben. Ehhez még két olyan lépésre van szükség, melyet csak programból tudunk elvégezni.
A DataSet osztályba adat csak akkor kerül - vagyis a select futtatása csak akkor történik meg -, amikor feltöltjük a DataSet-et a Fill függvény meghívásával.
private void Page_Load(object sender, System.EventArgs e)
{
  sqlDataAdapter1.Fill(dataSet11);
A dataSet11 most már tartalmazza a select lekérdezés eredményét, de annak megjelenítéséhez még hozzá kell kötnünk az adathalmazt a DataGrid-hez, melyhez a DataBind függvény hívása szükséges.
  DataGrid1.DataBind();
}
Ettől kezdve adataink már megjelennek a programunk futtatásakor. Ha a Properties ablak alján lévő Auto Format linkre kattintunk, akkor lehetőségünk van arra, hogy néhány előre elkészített sablonból válasszunk egyet, és annak stílusát húzzuk rá a mi DataGrid-ünkre.

DataGrid cikksorozat