Jelentési sablon készítése
A jelentések a beépített DevExpress Report Designer összetevővel készültek, a szerverről érkező adatok alapján.
A jelentés összeállításához a következőket kell tennie:
- Rajzolj egy jelentést szabványos vizuális elemekkel a kívánt megjelenés elérése érdekében.
- A mezõlistából adja meg a jelentés létrehozásához szükséges attribútumokat.
- A szkriptek használatával készítsen lekérdezést, hogy megkapja a szükséges adatokat az API-t az jelentések készítéséhez.
Minden jelentés elején:
- Hívja a helyi menüt a Jelentéstervező üres állásából.
- Kattintson a Subreport hozzáadása elemre:
- Feladatok. ha a jelentés feladatokon alapul;
- Tárgyakat. ha a jelentés tárgyakra épül;
A "Subreport hozzáadása" parancs szükséges az adatok adatbázisból történő lekérdezéséhez. Csak ezt követően folytathatja munkáját a jelentés kialakításában.
Példa a jelentések előállítására feladatok alapján
Tekintsünk egy példát arra, hogy készítsen jelentést az Ön által megadott feladatokról.
- Hívja a helyi menüt a Jelentéskészítő üres helyéről és válassza ki a Feladatok hozzáadása parancsot.
- Válassza ki a táblázatot az Eszköztárban, és húzza át a DetailReport - "Feladatok" területre.
- A Mező listában bontsa ki a Feladatok listát. Válassza a Cím mezőt, és húzza az első cellába.
- Ezután válassza ki a Leírás mezőt, és húzza a második cellába.
- A harmadik cellában húzza a DeadlineDate mezőt.
Így összeállítottunk egy egyszerű jelentést, amely információkat tartalmaz minden feladatról: a munka címe. munkaköri leírás és határidő.
Táblázatfejléc létrehozása:
- Kattintson a jobb gombbal a Detail1 területre. A helyi menüből válassza a Hozzáadás rész - Cím jelentése lehetőséget.
- Adja hozzá az asztalt a ReportHeader területhez.
- Töltse ki és formázza meg a táblázat fejlécét.
Töltse ki a jelentést kezdeményezői információkkal és csoportos feladatokkal az iniciátorok segítségével.
- Kattintson a jobb gombbal a Detail1 területre. Válassza ki a Hozzáadás csoport - Csoport cím parancsot a helyi menüben.
- Ha csoportosítási szabályokat szeretne beállítani a GroupHeader1 csoportfejléc mellett, akkor kattintson a csoport tulajdonságainak bontására.
- Állítsa be a kezdeményező → Id csoportosítás mezőt. Kattintson az OK gombra.
- Válassza ki a Szöveges eszközt, és szövegeket adjon hozzá a GroupHeader1 területhez.
- A Mező listában bontsa ki a Feladatok → Kezdeményező → Személy parancsot. Válassza ki a DisplayName mezőt, és húzza azt a csoport fejlécére.
Annak érdekében, hogy a jelentések elkészítésekor információkat szerezzen a feladatokról, a parancsfájl segítségével össze kell állítania egy lekérdezést a kiszolgálónak:
- Az Eszköztáron kattintson a Szkriptek elemre.
- Olyan szkriptet írjon, amely adatokat kér a jelentéstervezőben megadott attribútumokhoz. A jelenlegi felhasználóhoz rendelt feladatokról jelentést kell készíteni. Ehhez a PilotReport_DataSourceDemanded metódust használjuk, amely adatokat kér a kiszolgálótól a jelentéshez:
private void PilotReport_DataSourceDemanded (objektum feladó, System.EventArgs e)
LongRunning.Start (ez, () => <
var currentPerson = context.CurrentPerson;
var feladatokBuilder = QueryBuilder.CreateTaskQueryBuilder ();
tasksBuilder.Must (TaskFields.ExecutorPositionId.Be (currentPerson.MainPosition.Id));
context.Tasks = context.GetTasks (tasksBuilder);
Ha vizuálisan megmutatja, hogy a feladat időben nem fejeződött be, adja meg a formázási szabályokat.
Ha a kezdeményező nem állította be a feladat határidejét, akkor a jelentés egy speciális rendszerértéket jelenít meg a 31.12.9999-ben. Ezt az értéket szöveggé alakíthatja, például időhatár nélkül. Ehhez hozzon létre egy számított mezőt:
A mintajelentéssablonokat a Pilot-ICE Letöltőközpont által készített fejlett jelentések letöltésével is megtekintheti. a Pilot-ICE webhelyről. Ha szerkeszteni szeretné őket, tanulmányozhatja a lekérdezések írására és a számított mezők leírására szolgáló további példákat.
Példa a dokumentumokról szóló jelentés elkészítésére
Tekintsünk egy egyszerű példát egy projektjelentés létrehozására paraméterekkel. Ebben a jelentésben a kiválasztott projekt összes dokumentuma megjelenik.
- Hívja a helyi menüt a Jelentéstervező üres mezőjében, és válassza ki a Subreport - Objects hozzáadása parancsot.
- Válassza ki a táblázatot az Eszköztárban, és húzza a DetailReport - "Objects" területre.
- Törölje a harmadik cellát.
- A Mező listában bontsa ki az Objektumok listát. Válassza a Cím mezőt, és húzza a második cellába.
- Válassza ki az első cellát. Bontsa ki a cellák tulajdonságait kattintással.
- Az Összefoglalás mezőben kattintson a gombra. . Válassza ki az Összegzés funkciót. Számlálási tartomány - Jelentés. Ezután kattintson az OK gombra.
A táblázat elkészült. Ahhoz, hogy a felhasználók kiválasszák azt a projektet, amelyhez a jelentést meg szeretné kapni, létre kell hoznia a paramétert:
- A Mezõlistában kattintson az Opciók gombra.
- Kattintson a jobb gombbal a helyi menüre, és válassza a Paraméter hozzáadása parancsot.
- Az Új paraméter hozzáadása ablakban. adja meg a Project paraméter nevét. Leírás Projekt :.
- Válassza ki a Pilot objektumtípust a listából.
- Állítsa be az alapértelmezett értéket, amelyet a jelentés elkészítése során felajánl.
- A befejezéshez kattintson az OK gombra.
Írj egy olyan szkriptet, amely lekérdezi a meglévő dokumentumok adatait a felhasználó által kiválasztott projektben:
private void PilotReport_DataSourceDemanded (objektum feladó, System.EventArgs e)
LongRunning.Start (ez, () => var builder = QueryBuilder.CreateObjectQueryBuilder ();
builder.Must (ObjectFields.TypeId.Be (documentType.Id));
var selectedProject = (RObject) Paraméterek ["Projekt"].
context.Objects = context.GetObjects (builder, selectedProject.Id);
DataSource = kontextus;
A DevExpress Jelentéstervező összes funkciójának részleteit lásd a DevExpress dokumentációjában.