C# - Adatbeviteli Form-ok automatikus generálásának alapjai

Adatbeviteli Form 1. rész

forráskód letöltése
Miután létrehozunk egy adattáblát, az esetek többségében biztosítanunk kell az alkalmazásainkban azt a lehetőséget, hogy a felhasználók megtekinthessék a benne szereplő adatokat, vagy akár módosíthassák is azokat. Ehhez általános esetben DataGrid-et használunk egy Form-on, vagy ha nem az összes tételt egyben szeretnénk kezelni, akkor egy-egy adatsort megjeleníthetünk különféle kontrolok felhasználásával is egy Form-on, mint például a TextBox, Label, stb.
Egy-egy ilyen Form összeállítása, ellátása a megfelelő funkciókkal sokszor azonos lépéseket igényel, melyekkel csak az időnk megy és minél több ilyen táblát kell kezelnünk, annál inkább érezzük, hogy jó lenne ezt a feladatot automatizálni.
A Visual Studio.NET-ben rendelkezésre áll egy olyan eszköz, mely képes Form-okat készíteni egy-egy adattábla szerkezete alapján. Ez így létrehozott Form-okra felkerülnek a megfelelő kontrolok, melyek tulajdonságai rögtön beállításra is kerülnek annak érdekében, hogy az adattábla elérhető, szerkeszthető legyen, így ezeket a Form-okat rögtön használhatjuk is a létrehozásuk után, de akár még kiegészíthetjük saját funkcióinkkal, vagy átrendezhetjük a létrejött elemeket igény szerint. A lényeg az, hogy megszabadultunk az időt rabló alapvető lépésektől.
A mellékelt példában szereplő DataForm1 nevű Form-ot a Visual Studio.NET hozta létre, melyen csak apró változtatásokat hajtottunk végre.
Nézzük, hogy is történt mindez:
Mielőtt egy új Form-ot generáltatnánk, hozzunk létre egy adatkapcsolatot a Northwind példaadatbázishoz, ha még ez nem állna rendelkezésre.
Ehhez válasszuk a View - Server Explorer menüpontot, majd a Data Connection elemen jobb egér gombbal kattintva az Add Connection menüpontot.
A megjelenő ablak Kapcsolatok lapján adjuk meg az elérendő SQL szerver nevét, majd az eléréshez szükséges felhasználói nevet, jelszót. Végül jelöljük ki a Northwind példaadatbázist, majd zárjuk be az ablakot.

Ettől kezdve a jövőben már bármikor elérhető lesz a Northwind adatbázis és annak bármely objektuma.

Most rátérhetünk a Form létrehozására. Ehhez válasszuk a Project - Add new item menüpontot, majd a megjelenő ablakból keressük elő a Data Form Wizard elemet. Ezt kiválasztva elindul egy varázsló, melyben megadhatjuk a Form generálásához szükséges alapvető beállításokat.

Az első eldöntendő kérdésünk az lesz, hogy egy új adatkészlet kerüljön létrehozásra és abból vegye a Form az adatokat, vagy már egy meglévő adatkészletből. Mivel projektünkben még nincs adatkészlet, így most hozzunk létre egy újat. Ehhez a Create a new dataset named mezőbe adjuk meg a létrehozandó adatkészlet nevét.

Ezt követően válasszuk ki azt az adatbázis kapcsolatot, melyet használni szeretnénk az adatkészletünkhöz. A New Connection gombra való kattintásnál itt is lehetőségünk lenne egy új adatkapcsolat felépítésére. Mivel ezt a Server Explorer-nél már megtettük, így csak választanunk kell a legördülő listából.

Most következik az a lépés mikor ki kell választanunk az elérhető táblák, illetve nézetek közül azokat, melyekre szükségünk lesz a generálandó Form-on. Mivel most a legegyszerűbb esettel kezdünk, így csupán egyetlen táblát mozgassunk át a Selected items listájába, méghozzá az Orders nevűt. Master-detail reláció esetén több táblát kell választanunk.

Ezután kiválaszthatjuk, hogy az egyes tábláknál mely oszlopokra van szükségünk.

Az utolsó lépésnél több lehetőség is kínálkozik. Itt dönthetjük el, hogy egy olyan Form-ot szeretnénk, melyen egy DataGrid-ben lesz látható a teljes tábla, vagy egy olyan Form-ot, melyen TextBox-okon keresztül láthatunk egyetlen sort az adott táblából. Ez esetben lehetőségünk van további nyomógombok generálására is az új sor felvételéhez, a törléshez, a visszavonáshoz, illetve a sorok közötti navigációhoz.
Mostani példánkban a DataGrid-es változatot választjuk.
A Finish gomb megnyomásakor létrejön a Form, illetve a szükséges adatkészlet is. Ez utóbbi a DataSet1.cs forráskódban kap helyet, míg az adatkészlet sémája a DataSet1.xsd-ben található.
A létrejött Form-on végezzünk néhány apró változtatást:
  • „Load” gomb feliratát írjuk át „Betöltés”-re
  • „Update” gombot „OK”-ra
  • „Cancel All” gombot „Mégsem”-re
  • „OK” gomb Click eseményéhez írjuk be a Close(); függvény hívását
  • „Mégsem” gomb Click eseményéhez szintén tegyük a Close(); függvényt
Amint az látható a Form-hoz szükséges forráskód is automatikusan a helyére kerül, most már csak annyi a teendőnk, hogy megjelenítsük ezt a Form-ot.
Ehhez annyi a teendőnk, hogy létrehozunk belőle egy példányt, majd a ShowDialog függvény hívásával megjelenítjük azt a képernyőn.
    private void button1_Click(object sender, System.EventArgs e)
    {
      DataForm1 df = new DataForm1();
      df.ShowDialog();
    }
A megjelenő ablakban a betöltés után szerkeszthetjük az adatokat a DataGrid-en keresztül. Ezek a változások mentésre kerülnek az adattáblába, ha az OK gombbal zárjuk a Form-ot, míg a változtatások elvesznek a Mégsem gombbal történő kilépés esetén.

Adatbeviteli Form cikksorozat