Logikai felépítés |
A RecroGrid Framework elsősorban adatbázisban tárolt adatok megjelenítésére és szerkesztésére lett tervezve, ezért ebben a leírásban az így kialakított felépítést vesszük alapul. Azonban lehetőség van adatbázis nélküli adatok megjelenítésére is, aminek működése némileg eltér. Ennek részletes ismertetése a RecroGridDyn leírásban található. A leírásokban általában a táblázatos (List nézet) megjelentést vesszük alapul, de lehetőség van táblázattól eltérő teljesen egyedi template alapú kialakításra is. A template alapú megjelenítés a logikai felépítést és működést néhány kivételtől eltekintve (pl. toolbar, scroll) nem befolyásolja.
A List nézet alapját, illetve sorainak típusát egy entitás határozza meg, ami általában egy vagy több adatbázis tábla oszlopainak halmaza. A rendszerben tetszőleges számú entitás illetve azok különböző verziója szerepelhet. Az entitásokhoz tartozó tulajdonságok adatbázisban kerülnek tárolásra. A táblázat oszlopait az entitáson belüli tulajdonságok határozzák meg.
Tip |
---|
Javasolt minden táblának Int típusú automatikusan generált egyedi kulcs mezőt adni a gyorsabb és egyszerűbb használat érdekében. Ennek hiányában néhány automatizmus nehézkesen vagy rosszabb esetben csak manuális beavatkozással fog működni (pl. új felvitel). Fontos azt is tudni, hogy a kulcs mindig kiküldésre kerül, tehát ha olyan mező lenne a kulcs, amit bizonyos felhasználók nem láthatnak, akkor biztonsági kockázat merülhet fel. Többmezős kulcsok esetén nagyobb adatforgalomra, bonyolultabb így lassabb működésre kell számítani, különösen a kulcshoz kapcsolódó funkciók pl. más táblából választás vagy a RecroSec és a RecroTrack modulok esetén. |
A legegyszerűbb használat az Entity Framework által generált entitások valamelyikére hivatkozás, és akkor a RecroGrid reflexió segítségével (futásidőben) legenerálja a működéshez szükséges objektumokat, és azok paramétereit letárolja az adatbázisban, ami ezek után tetszőlegesen testre szabható. Az entitások és azok paraméterei manuálisan is előállíthatóak, de nem javasolt. A kész, felparaméterezett entitások adatbázis szinten könnyen hordozhatóak, így egyszerű két rendszer (pl. fejlesztői és éles) közötti másolás. Az adatbázis módosítása esetén lehetőség van frissítésre (pl. új oszlopok hozzáadása), vagy eltérő használat kezeléséhez klónozásra.
Az entitásokban található paraméterek alapján a RecroGrid automatikusan létrehozza az adatbázis lekérdezést, majd a kliensoldalon az megjeleníti. A megjelenített adatok azok típusa szerint szűrhető, rendezhető, lapozható és egy külön dialógus ablakon (Form nézet) szerkeszthető.
A szerkesztéshez a RecroGrid egy külön dialógust hoz létre egy XSLT sablon és az entitásban tárolt adatok típusa alapján. A template szerveroldalon testre szabható és/vagy tárolható. A template funkciója az adat típusának megfelelő elem létrehozása (pl. textbox, dátum, lista), illetve az esetleges bonyolult megjelenítés testreszabása. Az egyes mezők egyénileg Partial View segítségével is előállíthatóak, így bonyolultabb megjelenítés vagy komplexebb kontrollok is integrálhatóak a felületre. A dialóguson elhelyezkedő elemek elrendezése és stílusa egy online felületen (WYSIWYG) testre szabható és szabványos CSS formátumban elmenthető és módosítható. A mezőket paraméterezés alapján lapokra (tab) lehet csoportosítani, illetve módosításukat engedélyezni vagy tiltani.
A dialóguson elhelyezett adatok (mezők) eltérőek lehetnek a List nézettől, tehát az entitásban szereplő tulajdonságok (mezők / tábla oszlopok) paraméterezés alapján fognak megjelenni List nézetben és/vagy Form nézetben, vagy egyiken sem.