Entitások kialakítása |
Ez a fejezet bemutatja a RecroGrid Framework-ben használt Entitások típusait.
A RecroGrid Framework az adatok megjelenítését (Lista és Form nézetben is) Entitások alapján végzi. Az Entitások olyan tulajdonságok csoportja, amit megjelenítés és szerkesztés esetén együttesen kell kezelni. Entitásokat a keretrendszer automatikusan létrehozhat Entity Framework logika modell alapján, illetve az Adminisztrátori felületen (/RecroGridAdmin) manuálisan is szerkeszthető.
This topic contains the following sections:
Az Entity Framework logika modellben szereplő Entitások első használatuk alkalmával automatikusan legenerálódnak. A Category tulajdonság ebben az esetben EntityObject. Ez a típus nem tartalmazhat egyedi szerveroldali kódot, csak az adminisztrátori paraméterezést és esetleges kliensoldali testreszabást.
Tip |
---|
Javasolt már az első használatot megelőzően az adminisztrátori felületen tesztelni minden entitást, és az esetleges beállításokat elvégezni. Egyazon entitásnak több verziója is lehetséges, így az alkalmazás különböző pontjain más és más megjelenés és viselkedési mód is elérhető. |
This section contains the following subsections:
A logikai modell osztályaira épülő RecroGrid kialakítása a szerveroldali egyéni funkciók megvalósításához szükséges. A RecroGridDBC_TYPE, _DCTYPE generikus osztályban az entitást és az DbContext típusát kell meghatározni, illetve kötelezően létre kell hozni egy konstruktort, ami a RecroGrid belső azonosítóját fogja megkapni.
public partial class RG_Product : RecroGridDBC<Product, AdventureWorksDBContext> { public RG_Product(IRecroGridContext rgContext) : base(rgContext, new AdventureWorksDBContext()) { } }
public class CustomA { public int Id { get; set; } public string Name { get; set; } } public class RG_CustomA : RecroGridDyn<CustomA> { public RG_CustomA(IRecroGridContext rgContext) : base(rgContext) { } }
public class RG_FullDynamic : RecroGrid { public RG_FullDynamic(IRecroGridContext rgContext) : base(rgContext) { } protected override List<List<object>> OnGetRGData(RGGetDataParam param) { throw new NotImplementedException(); } }