Jobb egér a Solution Explorerben, majd az Add New Item menü kiválasztása:



Hasonló dokumentumok
Webshop készítése ASP.NET 3.5 ben I.

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

POSZEIDON dokumentáció (1.2)

Tantárgyfelosztás. I. Ellenőrzés. Mielőtt hozzákezd a tantárgyfelosztás tervezéséhez, ellenőrizze le, illetve állítsa be a következőket:

Választó lekérdezés létrehozása

Oktatási segédanyag. Weboldalszerkesztési gyakorlatok

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

AZ N-WARE KFT. ÁLTAL ELEKTRONIKUSAN ALÁÍRT PDF DOKUMENTUMOK HITELESSÉGÉNEK ELLENŐRZÉSE VERZIÓ SZÁM: 1.3 KELT:

Dokumentum létrehozása/módosítása a portálon:

Access gyakorlati feladatok lépésről lépésre

C#---Access adatbáziskezelési gyakorlat

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Órarendkészítő szoftver

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

Egyszerű alkalmazás fejlesztése JDeveloperben

HVK Adminisztrátori használati útmutató

A Google űrlap (form) használata

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Aromo Szöveges értékelés normál tantárggyal

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

A program telepítése. A letöltés lépései: 1. nyissa meg a WEB-oldalt, majd válassza a Letöltés menüpontot a felső sorban:

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Alapok (a K2D rendszer alapjai)

AZ N-WARE KFT. ÁLTAL ELEKTRONIKUSAN ALÁÍRT PDF DOKUMENTUMOK HITELESSÉGÉNEK ELLENŐRZÉSE VERZIÓ SZÁM: 1.1 KELT:

Táblázatos adatok használata

Egyszerűbb a Google keresőbe beírni a Sharepoint Designer 2007 letöltés kulcsszavakat és az első találat erre a címre mutat.

Duál Reklám weboldal Adminisztrátor kézikönyv

1. kép. A Stílus beállítása; új színskála megadása.

Akciók, diavetítés. 1. ábra Akciógombok. A lap két regiszterfülből áll, ezek a Kattintásra és az Áthaladáskor. Nézzük meg először az elsőt!

Alapvető beállítások elvégzése Normál nézet

VARIO Face 2.0 Felhasználói kézikönyv

Adatbázis kezelés Delphiben. SQL lekérdezések

Felhasználói segédlet a Web of Knowledge / Web of Science adatbázis használatához

Programozási technológia

Az FMH weboldal megnyitásakor megjelenő angol nyelvű üzenetek eltüntetése

Vihar 2.0 rendszer Felhasználói kézikönyv

Megújított tanúsítvány cseréje a Windows tanúsítványtárban

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

Felhasználói segédlet a Scopus adatbázis használatához

FELHASZNÁLÓI ÚTMUTATÓ

1. ábra Mester oldal alapján különböző témákkal létrehozott webhely oldalai

Aromo Szöveges értékelés kódolt tantárggyal


Szöveges értékelés. Magiszter.NET. Elérhetőségeink: Tel: 62/ ; Fax: 62/ Honlap:

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Guarding Vision Beállítása

DebitTray program Leírás

NINJA kezelői program letöltése és installálása

Online naptár használata

Elmib Önkormányzati hibabejelentő. Felhasználói kézikönyv v1.0

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Óranyilvántartás (NEPTUN)

Access adatbázis elérése OLE DB-n keresztül

ContractTray program Leírás

Lapműveletek. Indítsuk el az Excel programot és töröljük ki a Munka1 nevű munkalapot!

Swing GUI készítése NetBeans IDE segítségével

CitiDirect BE SM Felhasználói útmutató

A program telepítése. A letöltés lépései: 1. nyissa meg a WEB-oldalt, majd válassza a Letöltés menüpontot: 2. Kattintson a DbérWIN 2015 hivatkozásra:

Internet TV Broadcaster kézikönyv

Webszolgáltatás és XML alapú adatbázis. 1. Az adatbázis megtervezése

A program telepítése. A letöltés lépései: 1. nyissa meg a WEB-oldalt, majd válassza a Letöltés menüpontot: 2. Kattintson a DbérWIN 2017 hivatkozásra:

Másodlagos adatok beszerzése és külső adattábla csatolása ArcGIS 10-ben

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

ClicXoft programtálca Leírás

Gyakorló 9. feladat megoldási útmutató

Szülői modul. Belépés a TANINFORM rendszerbe. Főoldal

Gyorsított jegybeírás. Felhasználói dokumentáció verzió 2.0.

Oktatás. WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken. SZTE Egyetemi Számítóközpont

New Default Standard.ipt

ReszlAd fájl, kitöltési útmutató:

Felhasználói útmutató a portal.nakvi.hu oldalhoz

Internetkonfigurációs követelmények. A számítógép konfigurálása. Beállítások Windows XP alatt

Netis vezeték nélküli, N típusú Router Gyors Telepítési Útmutató

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Windows hálózati adminisztráció segédlet a gyakorlati órákhoz

Kifizetések kezelése. 1 Kifizetési dátumok megadása pénzügyi kódokhoz

Windows 7. Szolgáltatás aktiválása

Lekérdezések I. Egyszerű választó lekérdezések

Ablak és ablakműveletek

ONLINE SZAKÉRTŐI KERETRENDSZER

Ozeki Weboffice. 1. ábra

1.A. feladat: Programablakok

Diagram készítése. Diagramok formázása

Szoftvertechnolo gia gyakorlat

(ArcCatalog, ArcMap)

Internet alapú alkalmazásfejlesztés gyakorlat

Elektronikus pályázati űrlap (eform) létrehozása - Útmutató

Outlook Express használata

Erőforrások hozzárendelése tevékenységekhez

Táblázatkezelés 2. - Adatbevitel, szerkesztés, formázás ADATBEVITEL. a., Begépelés

15.4.2a Laborgyakorlat: Böngésző beállítása

Aromo Szöveges Értékelés

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Access alapok. Megnevezés Művelet Minta. Új adatbázis létrehozása. Új / Üres adatbázis.. Tábla létrehozása tervező nézetben.

A d m i n i s z t r á c i ó s f e l a d a t o k a I n t e g r á l t K ö n y v t á r i R e n d s z e r b e n

A program telepítése. A letöltés lépései: 1. nyissa meg a WEB-oldalt, majd válassza a Letöltés menüpontot: 2. Kattintson a DbérWIN 2014 hivatkozásra:

ElektrO-ParT elektronikai alkatrész nyilvántartó program leírás.

Szállítói útmutató: Felhasználói profil frissítése a MOL ebidding (elektronikus ajánlatkérési) rendszerben

Közoktatási Statisztika Tájékoztató 2012/2013. Használati útmutató

Átírás:

Mintafeladat ASP.NET adatbázis elérésre Az ASP.NET 2.0 újításai közé tartozott a Master page és a Site Navigation bevezetése. A Master Pages alkalmazásával egységesebb felületet tudunk kialakítani. A mester oldal sablonként szolgál, bizonyos területei állandó tartalommal vannak feltöltve, bizonyos területek pedig más oldalak tartalmának megjelenítésére szolgálnak. A Site Navigation lehetővé teszi, hogy az oldalak között könnyebben navigáljunk, és az oldalak hierarchiáját menü vagy fa struktúrába rendezzük, valamint a felhasználó számára szemléltessük, melyik szinten járnak éppen. Hozzunk létre egy új WebSite-ot. Hozzunk létre egy mester oldalt, amely egy menüsort fog tartalmazni. Adjuk meg a stílusjegyeit. A menüpontok pedig valamilyen adatbázis műveletet valósítanak meg. 1. Lépés: Mester oldal létrehozása Jobb egér a Solution Explorerben, majd az Add New Item menü kiválasztása: Készítsük el a mester oldal formai beállításait! A mester oldal létrehozásakor automatikusan egy ContentPlaceHolder vezérlőelem megjelenik az oldalon. Ennek a pozícióját és egyéb tulajdonságait módosíthatjuk, és más statikus elemeket is elhelyezhetünk az oldalon. Ezt vagy Designer nézetben, vagy Source nézetben HTML elemek segítségével tehetjük meg. Az oldal stílusának kialakítását egy.css stílusfájl alkalmazásával is megoldhatjuk. Egy létező stílusfájlt fogunk hozzáadni az oldalunk stílusjegyeinek megadásához. (Egy könyv mellékletéből származik a fájl.) Stílusfájlokat magunk is létrehozhatunk. Szendrői Etelka 1

Jobbegér a Solution Explorerben a projekt nevén Kiválasztjuk a stílusfájlt, majd az Add gombra kattintunk. Miután bekerült a stílusfájl a projektünkbe, megtekinthetjük a tartalmát. AView/OtherWindows menü Dokument Outline menü kiválasztásával a szerkezetét megtekinthetjük. A menüpont kiválasztása után megjelenik a CSS Outline ablak vagy a bal oldalán a képernyőnek a ToolBox mellett vagy a jobb oldalon, a Solution Explorer mellett. Szendrői Etelka 2

Add Style rule ikon, amely a Style menüből is kiválasztható- Lehetővé teszi, hogy Elemeket, Osztályokat stb. hozzunk létre. Egy kiválasztott elem (pl. body) stílusjegyeinek megadását teszi lehetővé. Style menüből is kiválasztható Szendrői Etelka 3

A mester oldalról hivatkoznunk kell a stílusfájlra, ezt link href elemmel tudjuk megtenni. Ehhez módosítanunk kell a mester oldal forráskódját. Az alábbiakban a forrás látható a módosításokkal együtt: <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>northwind adatbázis</title> <link href="styles.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="wrapper"> <form id="form1" runat="server"> <div id="header"> <span class="title">northwind adatbázis használata</span> <span class="breadcrumb"> Ide kell berakni az SiteMapPath-t...</span> </div> <div id="content"> <asp:contentplaceholder id="contentplaceholder1" runat="server"> <!-- Az aktuális oldal tartalma kerül ide --> </asp:contentplaceholder> </div> <div id="navigation"> Ide jön a menü </div> </form> </div> </body> </html> Ugyanez Design nézetben. Szendrői Etelka 4

Adjunk egy Home lapot a projektünkhöz. Jobbegér a Projekten a Solution Explorerben, majd válasszuk az Add New Item menüt. Válasszunk az ablakból egy WebForm-ot. A fájlnév legyen HomeLap.aspx. Ne felejtsük el bejelölni a Select master page jelölőnégyzetet!!! Miután az OK gombra kattintottunk, a képernyőn megjelenik az új lap forráskódja a page direktívával, melyben látható a mester oldalra való hivatkozás, valamint a ContentPlaceHolderre való hivatkozás. Szendrői Etelka 5

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="HomeLap.aspx.cs" Inherits="HomeLap" Title="Untitled Page" %> <asp:content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> </asp:content> Módosítsuk ennek is a tartalmát! Címsort és két bekezdést teszünk hozzá az oldalhoz. Az eredmény a következő: <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="HomeLap.aspx.cs" Inherits="HomeLap" Title="Untitled Page" %> <asp:content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <h1>üdvözöl a Northwind adatbázis</h1> <p>ez a WebSite a Northwind adatbázishoz való hozzáférést mutatja be. Néhány alapművelettel táblákat mutatunk meg, szűréseket végzünk táblákon. </p> <p>az adatbázis műveleteket típusos DataSet használatával mutatjuk be.</p> </asp:content> Ugyanez a Design nézetben: 2. Lépés: Navigáció (menü) kialakítása Az ASP.NET 2.0 óta rendelkezésünkre áll egy Site Map provider, amely egy XML fájlból várja a Weblapok hierarchiáját. Mielőtt használjuk ezt a lehetőséget, hozzunk létre néhány további Weblapot. Legyen egy Termékek táblát, egy Szállítókat, valamint a Termékek kategóriák szerinti csoportosítását mutató Weboldalunk. Ezeket hozzunk létre a már jól ismert Add New Item menü segítségével! Hozzuk létre a SiteMap-et.: Jobbegér a Solution Explorerben, válasszuk az Add New Item menüt, majd a Site Map lehetőséget. Hagyjuk meg az alapértelmezett fájlnevet, a Web.sitemap-et. Szendrői Etelka 6

A SiteMap fájl egy XML fájl. Tartalmaznia kell egy <sitemap> csomópontot, amely a fastruktúra gyökere lesz. Ez pontosan egy <sitemapnode> gyerek elemet tartalmazhat. Azután az első <SiteMapNode> gyerek elem számtalan sok további leszármazottat tartalmazhat. A fájlba az url, title és description értékeket nekünk kell megadnunk. Az Intellisence segíti a fájl szerkesztését. A Web.sitemap tartalma: <?xml version="1.0" encoding="utf-8"?> <sitemap xmlns="http://schemas.microsoft.com/aspnet/sitemap- File-1.0" > <sitemapnode url="~/homelap.aspx" title="home" description="home"> <sitemapnode url="~/termekek.aspx" title="termékek" description="a teljes Termékek táblát mutatja" /> <sitemapnode url="~/szallitok.aspx" title="szállítók" description="a Szállítók tábla" /> <sitemapnode url="~/termekkatszerint.aspx" title="termékek kategóriánként" description="termékek csoportosítva"/> </sitemapnode> </sitemap> Az ASP.NET a site map struktúrát a.net Framework SiteMap class osztály segítségével kezeli. Ennek az osztálynak van egy CurrentNode tulajdonsága, amely megmutatja, hogy a felhasználó éppen melyik csomópontot, azaz esetünkben Weblapot látogat. A RootNode tulajdonság a gyökér csomópontot, azaz a kiinduló lapot adja vissza. Szendrői Etelka 7

3. lépés : Menü készítése a Site Map alapján. Tegyünk egy Menü vezérlőelemet a mester oldalra (Master Page), ahol korábban kijelöltük a helyét. A Source nézetben ellenőrizzük le! (TreeView vezérlőelem is használható) A DataSourceID tulajdonságnál válasszuk az új DataSource lehetőséget, és a megjelenő ablakban a SiteMap-et. A Menu vezérlőelem StaticDisplayLevel tulajdonságát 2 értékre állítjuk, akkor a gyökér és az alatta lévő gyerek csomópontok mindig látszanak. 3. lépés: SiteMapPath vezérlő Adjunk egy SiteMapPath vezérlőelemet a Master Page-re, amely az aktuális tartózkodási helyet mutatja a lapok hierarchiájában. A Source nézetre váltva a Master Page tartalma a következő: <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> Szendrői Etelka 8

<title>northwind adatbázis</title> <link href="styles.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="wrapper"> <form id="form1" runat="server"> <div id="header"> <span class="title">northwind adatbázis használata</span> <span class="breadcrumb"> <asp:sitemappath ID="SiteMapPath1" runat="server"> </asp:sitemappath> </span> </div> <div id="content"> <asp:contentplaceholder id="contentplaceholder1" runat="server"> <!-- Az aktuális oldal tartalma kerül ide --> </asp:contentplaceholder> </div> <div id="navigation" > <asp:menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" StaticDisplayLevels="2" > </asp:menu> <asp:sitemapdatasource ID="SiteMapDataSource1" runat="server" /> </div> </form> </div> </body> </html> Indítsuk el a programunkat a HomeLap-al, az eredmény a következő lesz: Rákattintva a Termékek menüpontra, az alábbi képet kapjuk. (Természetesen, ha lenne már valami a Termékek lapon, akkor az látszana. Figyeljük meg, hogy a jobb felső sarokban a SiteMapPath mutatja, hol tartózkodunk éppen. Szendrői Etelka 9

A továbbiakban a három menüponthoz tartozó lapokat kell megszerkesztenünk és tartalommal feltöltenünk. A Termékek tábla kezelése Termékek menü A Termékek menü kiválasztásakor megjelenő weblapon egy GridView és egy DetailsView vezérlőelemet helyezünk el az adatok megjelenítésére. A termékek táblát egy GridView vezérlőelemben mutatjuk meg a felhasználóknak, amelyhez hozzárendeljük az adatforrást. A tábla egy során állva a GridView alatt elhelyezett DetailsView vezérlőelemben az adott sor részletes adatait látjuk. Lehetővé tesszük új adatok bevitelét, módosítást és törlést is. Lépések: 1. Nyissuk meg a Termekek.aspx lapot. Váltsunk Design nézetre. Húzzunk egy SqlDataSource vezérlőt az űrlapra. Legyen a neve (ID értéke) a vezérlőelemnek: TermekSource. A vezérlőelem jobb felső sarkában található SmartTag menüből válasszuk a Configure Data Source menüt. 2. A megjelenő Configure Data Source ablakban kattintsunk a New Connection feliratú nyomógombra. Ekkor felbukkan egy új Add Connection nevű ablak, amelyben először az adatbázis szerver nevét kell megadnunk. Ez azonos a számítógépünk nevével. Ezután a hitelesítési módok egyikét kell megadnunk. Hagyjuk meg az alapértelmezést, a Windows Authentication (hitelesítést). A Select or Enter Database name mező legördítésével válasszuk ki a Northwind adatbázist. Ezután kattintsunk az OK gombra. Szendrői Etelka 10

3. A Configure Data Source ablakból a Next gombra kattintással lépjünk tovább. A megjelenő ablakban jelöljük be a Yes, save this connection as jelölőnégyzetet, s ha akarjuk az alapértelmezett név helyett saját nevet is adhatunk a kapcsolati stringnek. A kapcsolati string ekkor az alkalmazásunk web.config nevű fájljába kerül letárolásra. Ezután kattintsunk a Next gombra. Szendrői Etelka 11

4. A megjelenő ablakban a Select utasítást kell összeállítani, azaz itt adhatjuk meg azt az SQL utasítást, amelynek a segítségével meghatározhatjuk, hogy milyen adatok jelenjenek meg az adatbázis tábláiból. A legördülő mezőből válasszuk ki a Products táblát, majd a megfelelő jelölőnégyzetekre kattintva, jelöljük ki azokat az oszlopokat, amelyeket látni szeretnénk a weblap adatrácsában.(gridview). A Select statement mezőben láthatjuk a kiválasztásnak megfelelő SQl utasítást. Szendrői Etelka 12

5. Ezután a ToolBoxból tegyünk egy GridView vezérlőelemet az űrlaphoz. A Properties ablakban adjunk nevet a vezérlőelemnek (ID tulajdonság), a név legyen: GridTermek. A DataKeyNames tulajdonság értéke pedig legyen: ProductID. Adjuk meg a PageSize tulajdonságértéket is, az alapértelmezett 10 helyett legyen 5 az érték. Ezzel azt adjuk meg, hogy hány sor legyen a GridView vezérlőelemben. 6. Ezután a GridView vezérlőelem jobb felső sarkában található SmartTag-ben (Task menü) adjuk meg a Choose Data Source mező értékét. A legördülő listából válasszuk a TermekSource lehetőséget. Ezzel hozzákötöttük az előbb definiált adatforrást a GridView vezérlőhöz. Jelöljük be az Enable Paging, Enable Sorting és az Enable Selection jelölőnégyzeteket. Ezzel lehetővé tesszük, hogy lapozni lehessen a rekordok között, rendezni lehessen az adatokat a kiválasztott oszlop szerint, valamint lehetőséget biztosítunk egy-egy rekord kiválasztására. Az Auto Format menüből válasszuk a Professional értéket. Mivel nem az összes mezőt mutatjuk egy rekordból, elhelyezünk egy DetailsView vezérlőelemet is az űrlapon, amelyben egy-egy rekord módosítását, új rekord bevitelét és a kiválasztott rekord törlését tesszük lehetővé. 7. Adjunk egy újabb SQLDataSource vezérlőelemet az űrlaphoz. Az ID (név) értéke legyen DetailsSource. 8. Ezután a SmartTag-ből kattintsunk a Configure DataSource menüre. Ekkor megjelenik a már korábban megismert Configure Data Source ablak, amelyben most nem kell a New Connection nyomógombot megnyomnunk, hiszen a legördülő mezőből kiválaszthatjuk a korábbi kapcsolati stringet, hiszen ugyanahhoz az adatbázishoz akarunk kapcsolódni. Az ablakból a NEXT gombra kattintással lépjünk tovább. 9. A következő ablakban a SELECT utasítást kell megadnunk, azaz meg kell adnunk, hogy melyik táblának, mely oszlopait kívánjuk megjeleníteni. Ismét a Products táblát kell választani, és az összes oszlop jelölőnégyzetet kapcsoljuk be, ahogy az ábrán is látható. Szendrői Etelka 13

10. Miután megadtuk az összes oszlopot, az ablak jobb szélén található nyomógombok közül kattintsunk a WHERE nyomógombra. Az Add Where Clause ablakban van lehetőségünk a Where záradék megadására. Itt azt adjuk meg, hogy az adatforrás ProductID mezőjének értéke meg kell, hogy egyezzék az adatrács kijelölt sorának ProductID mezőjével. Hiszen az adatrácsban kiválasztott sort (amely csak 4 oszlopot tartalmaz) akarjuk megmutatni, csak most az adott rekord összes oszlopát kiírjuk a weblapra. A Column mezőben válasszuk a ProductID-t, majd az Operator mezőben válasszuk az egyenlőségi relációt (=).A Source: (forrás) mezőben válasszuk a Control lehetőséget, hiszen a GridView vezérlő egy mezője határozza meg, hogy melyik rekordot kell az adatforrásnak megtalálnia. Ezután a Parameter properties területen adjuk meg a vezérlőelem ID-jét, ez a GridTermek. A Default value mező maradjon üres, a Value mezőben adjuk meg a GridTermek.SelectedValue értéket. Ezután kattintsunk az Add gombra. Szendrői Etelka 14

11. Az eredmény az alábbi ábrán látható, sikeresen létrehoztuk a where záradékot. Az OK gombra kattintással csukjuk be az ablakot. 12. Visszajutunk a SELECT utasítást létrehozó ablakba. Ebben az ablakban kattintsunk az ADVANCED gombra. Szendrői Etelka 15

A megjelenő ablakban jelöljük be a Generate Insert, Update, Delete statements jelölőnégyzetet. Ezzel tesszük lehetővé, hogy az adatforrásban lehetővé váljék a beszúrás, módosítás, valamint a törlés műveletének végrehajtása. 13. Ezután helyezzünk el egy DetailsView vezérlőelemet az űrlapon. Ebben fog megjelenni a GridView-ban kiválasztott rekord minden eleme. A DetailsView tulajdonságai közül a következő ábrán láthatókat állítsuk be: Ezen kívül a Properties ablakban adjuk meg a DataSource (adatforrás) nevét: DetailsSource, valamint a DataKeyName tulajdonságértéket, ami legyen ProductID. Az AllowPaging tulajdonság értéke legyen false. 14.. Növeljük meg a DetailsView vezérlőelem szélességét, majd válasszuk az Auto Format menüből Professional lehetőséget.. A beállítások eredménye az ábrán látható. 15. Futtassuk le az alkalmazást. A megjelenő lapon válasszuk ki a Select gombra Kattíntással a 3-as kódszámú terméket. A táblázat alatt ekkor a 3-as termék minden mezője látható. Szendrői Etelka 16

16. Kattintsunk az Edit gombra. Ekkor jól láthatóan a DetailsView terület megváltozik, hozzáférünk az adatmezőkhöz, és most a mezők alján az Update és Cancel gombok jelennek meg. Módosítsuk az egységárat (UnitPrice) 10000-ről 12000-re! A mező értékének módosítása után kattintsunk rá az Update gombra. Meglepődve tapasztaljuk, hogy míg a DetailsView nézetben módosult a UnitPrice érték, most 12000, addig a felső táblázatban, (GridView) változatlanul, a korábbi érték (10000) látható. Nyilvánvalóan nekünk kell gondoskodni arról, hogy a GridView-ban is módoslujon az érték, ha azt a DetailsView-ban megváltoztatjuk. Szendrői Etelka 17

17. Gondoskodnunk kell arról, hogyha a DetailsView vezérlőelemen bekövetkezik a ItemUpdated, ItemDeleted vagy ItemInserted események valamelyike, azaz módosítottuk az adatbázis táblát, akkor frissüljön a GridView vezérlőelem tartalma is, vagyis olvassa újból a rekordot az adatbázisból. Ezt az újraolvasást a DataBind() metódushívással tudjuk elérni. A DetailsView vezérlőelem Properties ablakában kattintsunk az Események (villám) ikonra. Ekkor a DetailsView vezérlőelem objektum eseményeinek listáját látjuk Egymás után álljunk az ItemUdated, majd az ItemDeleted, végül az ItemInserted mezőkbe, mindegyikből duppla kattintással a forráskód ablakba jutunk, ahol az események eseménykezelőjét meg tudjuk írni. Szendrői Etelka 18

A kód: public partial class Termekek : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void DetailsView1_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e) { GridTermek.DataBind(); } protected void DetailsView1_ItemDeleted(object sender, DetailsViewDeletedEventArgs e) { GridTermek.DataBind(); } protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e) { GridTermek.DataBind(); } } Futassuk ismét az alkalmazást, és próbáljuk ismét módosítani a mezők értékét. Most már a táblázatban is frissülnek az értékek. 18. Csinosítsuk az alkalmazást! Jó lenne, ha a DetailsView címsorában megjelenne a kiválasztott termék neve, ha viszont új terméket viszünk fel, akkor a címsorban az Új termék bevitele felirat jelenne meg. Ehhez a DetailsView SmartTag menüjének utolsó, Edit Templates menüpontjára van szükség. A menüpontból a Header Template et kell kiválasztani. Szendrői Etelka 19

19. Az alábbi döntési kifejezést kell megadni. (Tipp: Design nézetben írjunk a Template területbe bele egy-két karaktert, majd Válasszuk az End Template Editing menüt. Ezután váltsunk Design nézetről Source nézetre, és az előre elkészített HTML tag-ek közé, kitörölve a beírt egy-két karaktert írjuk a döntési kifejezést.) <HeaderTemplate> <%#Eval("ProductName") == null? "Új termék bevitele" : Eval("ProductName")%> </HeaderTemplate> 20. Futtassuk az alkalmazást. Az eredmény az alábbi képeken látható. A DetailsView címsorában jól látható a kiválasztott termék neve. Szendrői Etelka 20

Ha a New menüt választjuk, akkor a DetailsVIew címsorában az Új termék bevitele felirat látható. 21. Tegyünk egy Új termék bevitele nyomógombot a GridView fölé. Jelenleg csak úgy tudunk egy új terméket megadni, ha előbb kiválasztunk egyet a táblázatban, s ha megjelent a DetailsView vezérlőelem a megfelelő tartalommal, tudunk a New gombra kattintani, s új rekordot bevinni. Ha rákattint a felhasználó a nyomógombra, akkor a DetailsView rögtön Insert módba kell, hogy kerüljön. 22. Váltsunk át Design nézetről Source nézetre, s szúrjuk be az alábbi kódot a GridView vezérlőelem elé. <p> <asp:linkbutton ID="AddTermek" runat="server" Text="Új termék bevitele"></asp:linkbutton> </p> Az eredmény: Ugyanez Design nézetben: Szendrői Etelka 21

23. Írjuk meg a nyomógomb eseménykezelőjét. Design nézetben kattintsunk duplán a nyomógombra! Gépeljük be a következő kódot: protected void AddTermek_Click(object sender, EventArgs e) { DetailsView1.ChangeMode(DetailsViewMode.Insert); } A futási eredmény az alábbi képen látható: Van még javítanivaló az alkalmazáson. Jól látható, hogy új rekord bevitelekor gondot jelent a SupplierID és a CategoryID (szállítókód és kategóriakód) értékének megadása. Az anyag második részében ezt fogjuk megoldani. Szendrői Etelka 22

A DetailsView módosítása a kényelmesebb adatbevitel biztosítása Először tegyük lehetővé, hogy a Szállítók listájából, egy választással adja meg a felhasználó az adott terméket szállító kódját. Azután ugyanezt fogjuk biztosítani a Termék kategória megadásakor is. Lépések: 24. Adjunk hozzá a weblapunkhoz egy újabb SqlDataSource objektumot. A neve (ID) legyen SzallitoLista. Az SqlDataSource SmartTagjéből válasszuk a Configure DataSource menüt. Adjuk meg a már korábban létrehozott kapcsolati stringet, majd kattintsunk a NEXT gombra. 25. Adjuk meg a Supplier táblát, és annak oszlopait, majd kattintsunk az ORDER BY gombra. Szendrői Etelka 23

26. A Sort by mezőben válasszuk a CompanyName mezőt, így névsorba rendezve fogjuk látni a szállítókat. 27. Kattintsunk az OK gombra, majd Next és Finish gomb. Ha a weblap forrás nézetére váltunk, akkor a következő kódot kell látnunk, a most létrehozott SqlDataSource-ra vonatkozóan. 28. Ezután a DetailsView SmartTag-jében válasszuk az Edit Fields menüt. A megjelenő ablakban jelöljük ki a SupplierID (Bounded) mezőt, majd kattintsunk a Convert this field into a TemplateField menüre. Váltsunk forrás nézetre, nézzük meg, hogy alakította át az ASP.NET a Bounded mezőt Template mezővé. Szendrői Etelka 24

29. A kijelölt kódrészletben a TextBox mezőt cseréljük le DropDownList vezérlőelemre és konfiguráljuk úgy, hogy a Szállító nevét mutassa. Az alábbi kódrészletet kell átalakítani. Szendrői Etelka 25

30. A DropDownList megfelelő konfigurálásához, a forráskódban az alábbi módosításokat végezzük el! A TextBox vezérlőelem helyett legördülő listát (DropDownList) alkalmazunk. A DataTextField mező értéke a Szállító neve lesz, ez az, ami megjelenik a legördülő listában. A DataValueField pedig a Szállító kódja. A kiválasztott érték is a Szállító kódja lesz. <asp:templatefield HeaderText="Szállítók" SortExpression="SupplierID"> <EditItemTemplate> <asp:dropdownlist ID="DrdSupplier" runat="server" DataSourceID="SzallitoLista" DataTextField="CompanyName" DataValueField="SupplierID" SelectedValue='<%# Bind("SupplierID") %>'></asp:dropdownlist> </EditItemTemplate> <InsertItemTemplate> <asp:dropdownlist ID="DrdSupplier" runat="server" DataSourceID="SzallitoLista" DataTextField="CompanyName" DataValueField="SupplierID" SelectedValue='<%# Bind("SupplierID") %>'></asp:dropdownlist> </InsertItemTemplate> <ItemTemplate> <asp:dropdownlist ID="DrdSupplier" runat="server" DataSourceID="SzallitoLista" DataTextField="CompanyName" DataValueField="SupplierID" SelectedValue='<%# Bind("SupplierID") %>' Enabled="false" ></asp:dropdownlist> </ItemTemplate> </asp:templatefield> 31. Futtassuk az alkalmazást. Amikor a kiválasztott rekordnál Edit módra váltunk, a legördülő lista hozzáférhetővé válik. Ugyanez történik bevitelkor is. Szendrői Etelka 26

32. Most tegyük meg ugyanezt a CategoryID mezővel is. Tegyünk a Weblapra egy újabb SqlDataSource vezérlőt, az ID-je legyen KategoriaLista, majd a SmartTagben válasszuk a Configure DataSource menüt. Válasszuk ki a kapcsolati stringet, majd a Next gombra kattintsunk. Ezután adjuk meg a Categories táblát és a CategoryID, valamint a CategoryName oszlopokat jelöljük ki. Az OrderBy gombra kattintva, állítsuk be, hogy a tábla a CategoryName mező szerint legyen rendezve. OK majd Finish gomb. 33. Ezután a DetailsView SmartTag menüjéből válasszuk az Edit Fields menüt, majd jelöljük ki a CategoryID mezőt, és kattintsunk a Convert this field into a Template Field gombra. Utána OK, majd az oldal forrás nézetében tegyük meg az alábbi módosításokat. Ismét a TextBox helyett DropDownList vezérlőt használunk. 34. Futtassuk az alkalmazást. Most már a Szállítókon kívül a termék kategóriát is egyszerű megadni. Szendrői Etelka 27