Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Apartman – kezelő rendszer implementálása 2 Írta: Kátai Kornél Bálint, 2007 Mail: (A nyugalom megzavarására alkalmas kép- és szöveganyagot.

Hasonló előadás


Az előadások a következő témára: "Apartman – kezelő rendszer implementálása 2 Írta: Kátai Kornél Bálint, 2007 Mail: (A nyugalom megzavarására alkalmas kép- és szöveganyagot."— Előadás másolata:

1 Apartman – kezelő rendszer implementálása 2 Írta: Kátai Kornél Bálint, 2007 Mail: kkb@inf.elte.hu (A nyugalom megzavarására alkalmas kép- és szöveganyagot tartalmaz, így megtekintése csak saját felelősségre történhet!) 1

2 2

3  Táblák szűrése  Táblák editálása  Hibakezelés & validáció 3

4  FilterControl – adatforrás  JoinedTableCtrl – adatmegjelenítés  TableDisplayCtrl  MainForm - példányosítás 4 FILTERCONTROL JOINEDTABLECTRL

5  A már implementált JoinedTable osztály példánya lesz az adatforrás  Ez azt is jelenti, hogy a példánynak mindig tükröznie kell a megjelenített állapotot! 5

6  Kapcsolat a FilterControl BindingSource objektumán keresztül 6 BindingSource Specifikus osztályok

7  Adatkapcsolatok beállítása  TableDisplayCtrl inicializálása (lásd: előző ea)  Külső adatforrások beállítása (lásd: előző ea)  Megjelenítés és viselkedés megadása 7

8  Négy módszer  Hagyományos értékadás  Kifejezés feldolgozása  Compute  Adatkötés táblához  Adatkötés egyéb struktúrához 8 Sum, Avg, Min, Max, Count, StDev, Var

9  Select metódus -> DataRow[]  RowState  a row mindig referencia -> szülő tábla  Clone metódus  Használat után Dispose! 9

10  Kifejezéssel automatizált szűrés  Compute, Select metódusok segítségével  Nem minden esetben használható  Magas szintű  Implementáltuk a helyben szűrő változatát  Manuális szűrés  Iteráció a tábla sorain  Szükséges sorok kinyerése / szükségtelenek eldobása  Alacsonyabb szintű 10

11  A szűrés kifejezésen keresztül történik  A kifejezés az SQL ‘WHERE’ kulcsszó után várt kifejezésével egyező szintaxisú  Hibás szintaxis -> EXCEPTION 11

12  Két megközelítés:  Sorok kigyűjtése  RowState!  Sorok eltávolítása  Iteráció alanya módosul -> foreach  Ajánlott: for ciklus visszafelé! 12

13  Cél: prioritási sorrend felállítása  Konkrét feladat 13 Rendezési direktívák

14  A már ismert Select metódussal oszlopok szerint rendezhető a tábla.  Eljárás lépései:  Ideiglenes oszlop felvétele a rendezendő táblához  Sorok prioritásának meghatározása (pontozás)  Rendezés végrehajtása  Ideiglenes oszlop eltávolítása 14

15  A JoinedTable Filter metódusa a rendezést is támogatja  Eljárás lépései:  Ideiglenes oszlop felvétele a rendezendő táblához  Sorok prioritásának meghatározása (pontozás)  Rendezés végrehajtása  Ideiglenes oszlop eltávolítása 15

16  TableCtrlBase  Absztrakt ősosztály  TableDisplayCtrl –ből származik  Típusos  Editáló kontrolok  TableCtrlBase –ből származtatott osztályok  Végső absztrakciós szint 16

17  Absztrakt metódusok  Az általános viselkedés leírásához szükséges specifikus eljárások  A származtatott osztályok csak ezek implementálása után példányosíthatóak  Alternatív lehetőség: INTERFACE -ek 17

18  Adatforrás property ‘set’ metódusának túlterhelése  Avagy hogyan inicializáljuk a forrást?  Lehetett volna absztrakt metódussal, vagy eseménnyel támogatni!  A TableDisplayCtrl inicializációja a szokásos módon  Absztrakt metódusok implementálása 18

19  Az editor tábláknál is használhatjuk a korábban tárgyalt adatkötéseket, a display- és a valuemember tagokat 19 Inicializáció Külső adatforrások

20  Dátum típusú mezők editálása  Nem támogatja a keretrendszer  Saját editor mező implemetálása  TableDisplayCtrl 20

21  Az appartman tábla nem rendelkezik reprezentáló mezővel (név)  Hivatkozáskor nincs mit megjeleníteni!  Előszűrés: 21 Appartmanok (Joined Table) Árak

22  Szükséges:  PriceTableCtrl  PriceHandlerCtrl  UserControl, megjeleníti a PriceTableCtrl –t és a JoinedTableCtrl -t 22 JoinedTableCtrl PriceTableCtrl SelectedRowChanged esemény Előszűrés ID

23  PriceHandlerCtrl  SelectedRowChanged esemény  PriceTableCtrl  Nem mutatjuk az appartman azonosítóját  A meglévő bejegyzéseket szűrjük az aktuális appartman alapján  Az új bejegyzéseknél beállítjuk a megfelelő hozzárendelést 23 Nem megjelenítendő mező

24  Szükséges, amikor  Nem minden táblaállapot megengedett  A beviteli mező megenged érvénytelen értéket is  A sor rendelkezik érvényességi feltételekkel  Tipikus példa: AllowNull  A tábla rendelkezik érvényességi feltételekkel  Tipikus példa: Unique mező  Előfordulnak kapcsolódási problémák 24

25  A Validate() metóduson keresztül  Ellenőrzi a mezők, a sorok és a tábla konzisztenciáját  Legfontosabb eszköz: Validating események  Saját szemantikai ellenőrzés hajtható végre  Az esetleges inkonzisztencia kezelhető 25 Validate Validating CellValidating CellValidated RowValidating RowValidated Validated Eseménykezelők

26  Mikor kell ellenőriznünk a konzisztenciát?  Mentéskor  Törléskor  Függések!  Mező editálás után  Hiba esetén  Automatikus, túlterhelhető 26

27  TableCtrlBase ősosztályban  NavigatorSaveItemClicked esemény 27 hamis, ha a validáció sikertelen véglegesíti a módosításokat kapcsolat hiba esetén hibaüzenet sikertelen validáció -> igény szerint módosítások visszavonása

28  TableCtrlBase ősosztályban  NavigatorDeleteItemClicked esemény 28 van –e függése a törlendő sornak? esemény lekezelve -> nincs törlés

29  TableCtrlBase ősosztályban  Adatforrás hiba  „Az adatforrás-réteg inkonzisztenciája”  Automatikusan kezelt, de túlterhelhető  Mező validálás  Ha egy mező editálását befejeztük 29 esemény lekezelve -> elutasítjuk az alapértelmezett hibaüzenetet és a validáláson keresztül jelezzük a hibát

30  Sorok konzisztenciáját ellenőrizzük  Tiltott állapot (az alapértelmezetteken felül): ha a megadott intervallum értelmetlen 30 ErrorText: a validáció során tapasztalt hiba a validáció sikertelen A mezőkhöz is létezik ErrorText!

31  Kapcsolatépítés  Kapcsolt táblák megjelenítése  Adatkötések használata  Táblák szűrése  Táblák editálása  Hibakezelés & Validáció 31

32 32  Köszönöm a figyelmet!


Letölteni ppt "Apartman – kezelő rendszer implementálása 2 Írta: Kátai Kornél Bálint, 2007 Mail: (A nyugalom megzavarására alkalmas kép- és szöveganyagot."

Hasonló előadás


Google Hirdetések