Promotic

DtiOper - Popis rozhraní

DtiOper je rozhraní pro tabulkové prohlížení a editaci různých zdrojů dat.

Základní popis

Koncept DtiOper se skládá z prohlížeče tabulky (PmaPanel s PmgWTable) a zdroje dat (objekty PmaAdo, PmaDataTable, atd.). Prohlížeč komunikuje se zdrojem dat pomocí metody projektanta "DtiOper", reprezentující zdroj dat. Metoda zastřešuje jednotlivé "domluvené" operace, které zdroj dat poskytuje do prohlížeče. V parametru sDtiPars metody "DtiOper" jsou všechny informace nutné pro vlastní zdroj dat ve formátu KeyVal, konvertovaný pro pohodlnější zpracování na začátku každé operace na mapu mDtiPars. Ostatní parametry metody upřesňují požadovanou operaci. Tento koncept je obecný a umožňuje i současné prohlížení jednoho datového zdroje více prohlížeči současně a to i přes Web. Datový zdroj objektu PmaAdo představuje datový zdroj pro všechny databázové tabulky databáze, takže současné prohlížení jednoho zdroje dat více prohlížeči současně je nutnost. Také budoucí rozšiřování o nové "operace" (základní i projektantské) je snadné, stačí v prohlížeči volat metodu "DtiOper" s novou operací, která se naimplementuje v odpovídajícím zdroji dat.

Prohlížeč tabulky

Prohlížeč je obecný, parametrizovaný jediným strukturovaným parametrem DtiPars. Parametr představuje konkrétní zdroj dat i parametry vlastního prohlížeče. Lze použít jediný prohlížeč k postupnému prohlížení různých datových zdrojů, s odpovídající jinou hodnotou parametru DtiPars. Praktičtější a čitelnější je použít pro každý zdroj dat zvláštní vyhrazený prohlížeč, což umožňuje parametry prohlížení konkrétního zdroje dat uvést konfiguračně již přímo v prohlížeči. Také je pak snadnější úprava prohlížeče na míru pro jeden konkrétní účel.

DtiPars ve formátu KeyVal je klíčový prvek konceptu DtiOper. Musí se zajistit, aby v něm byly všechny požadované informace při prvním zobrazení prohlížeče. DtiPars lze dodat rovnou na počátku úplný nebo částečně naplněný nebo také upravit postupně v těchto krocích:
 
Předání řetězce DtiPars do prohlížeče. Parametr bude obsahovat: cestu ke zdroji dat, název tabulky a záhlaví tabulky.
 
1) Parametr obrazu prohlížeče DtiPars dodaný v sParams v metodě Pm.CreateView nebo v konfigurátoru objektu PmaWorkspace rámu Výchozí hodnota Params.
Příklad: pars:{DtiPars:{DtiPath:../PmaAdo;Table:MyTable;Title:Tabulkový přehled hodnot}}
Příklad: Předání řetězce DtiPars do prohlížeče.
2) Parametr obrazu prohlížeče DtiPars dodaný v konfigurátoru "Výchozí hodnota sViewPars".
Příklad: pars:{DtiPars:{DtiPath:../PmaAdo;Table:MyTable;Title:Tabulkový přehled hodnot}}
3) V počáteční hodnotě parametru DtiPars tak, jak je definován v parametrech Parametry Pmg objektu PmgRoot prohlížeče.
Příklad: DtiPars:DtiPath:../PmaAdo;Table:MyTable;Title:Tabulkový přehled hodnot
4) V metodě "Open" prohlížeče, která převezme hodnotu parametru DtiPars a zavolá operaci "Open". Až sem jde o prosté předání parametru obrazu DtiPars.
Příklad: Úprava 1. a 2. řádku metody "Open" objektu PmgWTable
Příklad: Vložení 3. až 5. řádku do metody Open objektu PmgWTable
5) V operaci "Open" zdroje dat se standardně zpracují dodané informace o zdroji dat v sDtiPars. Ověří se platnost a doplní se všechny potřebné informace pro následné operace a vrátí se nová doplněná podoba sDtiPars.
6) V metodě "Open" prohlížeče, která převezme výsledek operace "Open" v podobě DtiPars. Převezme z něj hodnoty čistě pro prohlíčeku, které pak smaže z DtiPars a nechá tam jenom hodnoty nutné pro datový zdroj. Nový výsledný DtiPars s informacemi pro zdroj dat si zapamatuje pro všechny následné operace.

Popis přednastavených hodnot v DtiPars

Hodnoty v DtiPars (mohou se mírně lišit podle zdroje dat):

DtiPath: Cesta ke zdroji dat (libovolný PmaObject s metodou DtiOper), může být i relativní vůči PmaPanel s prohlížečem.
Hodnota je povinná. Hodnotu si prohlížeč zapamatuje a odstraní z DtiPars.
Table: Název tabulky.
Pokud zdroj dat obsahuje více tabulek, pak hodnota je povinná, v jiném případě hodnota je nepovinná.
V objektu PmaAdo je zde název databázové tabulky, v objektu PmaDataTable se neuvádí.
ColNames: Seznam jmen sloupců pro zobrazení.
Hodnota je nepovinná. Pokud se neuvede, pak se zobrazí všechny sloupce zdroje dat.
ColPkNames: Seznam jmen sloupců s primárním klíčem (určuje jedinečnost záznamu pro editaci nebo smazání).
Hodnota je nepovinná. Pokud se neuvede, pak použije se jeden první sloupec.
ColPkCount: Počet sloupců s primárním klíčem (určuje jedinečnost záznamu pro editaci nebo smazání).
Hodnota je nepovinná. Pokud se neuvede, pak použije se jeden první sloupec.
ColTypes: Seznam datových typů sloupců (pro zobrazení i generování SQL příkazů).
Hodnota je nepovinná. Pokud se neuvede, pak se zjistí automaticky samy.
ColPkTypes: Seznam datových typů sloupců s primárním klíčem (pro zobrazení i generování SQL příkazů).
Hodnota je nepovinná. Pokud se neuvede, pak se zjistí automaticky samy.
ColTitles: Seznam záhlaví sloupců pro zobrazení (např. lokalizovaný text).
Hodnota je nepovinná. Pokud se neuvede, pak se použije ColNames.
Hodnotu si prohlížeč zapamatuje a odstraní z DtiPars.
Title: Záhlaví zobrazené tabulky (např. lokalizovaný text).
Hodnota je nepovinná. Pokud se neuvede, pak se použije Table nebo zůstane prázdné.
Hodnotu si prohlížeč zapamatuje a odstraní z DtiPars.

Operace metody DtiOper zdroje dat (parametr sOper)

"Open": Volá se jen jednou jako první operace při otevření prohlížeče. Operace má za úkol převzít počáteční hodnotu sDtiPars, ověřit jejich správnost. Následně doplnit všechny chybějící informace jednak pro zobrazení prohlížeče a také aby bylo možné provádět následné operace nad zdrojem dat. Výsledkem této operace je nová doplněná hodnota DtiPars, která bude vrácena do prohlížeče. Prohlížeč si tento modifikovaný DtiPars zapamatuje a následně jej bude předávat v parametru sDtiPars každé následující operaci nad zdrojem dat. DtiPars se doplňuje o názvy sloupců, nadpisy sloupců, datové typy sloupců, seznam primárních klíčů, atd. Vlastní datový zdroj si zde může uložit i vlastní nezbytné informace pro následné operace. Některé hodnoty v DtiPars slouží pouze pro prvotní zobrazení prohlížeče a prohlížeč je z optimalizačních důvodů z DtiPars odstraní, aby DtiPars pří následných operacích nebyl zbytečně velký a obsahoval jenom informace pro zdroj dat.
Operace vrací upravený DtiPars ve formátu KeyVal.
"Close": Volá se jen jednou jako poslední operace při zavření prohlížeče. Obvykle se tato operace ani neimplementuje.
"GetRows": Volá se opakovaně vždy, když prohlížeč potřebuje aktualizovat svůj obsah.
Operace vrací 2-rozměrné pole hodnot.
"AddRow": vPar1 = pole všech hodnot přidavaného řádku. Volá se při přidání jednoho řádku.
Operace vrací 1 = OK, 0 = chyba
"EditRow": vPar1 = pole všech hodnot editovaného řádku, vPar2 = pole hodnot identifikujích editovaný řádek (hodnoty primárního klíče) Volá se při změně jednoho řádku.
Operace vrací 1 = OK, 0 = chyba
"DeleteRow": kde vPar1 = pole hodnot identifikujích mazaný řádek (hodnoty primárního klíče) Volá se při smazání jednoho řádku.
Operace vrací 1 = OK, 0 = chyba
Předání řetězce DtiPars do prohlížeče.:
Parametr bude obsahovat: cestu ke zdroji dat, název tabulky a záhlaví tabulky.
JavaScriptVBScriptVyber a zkopíruj do schránky

var oCreator = Pm.CreateView(null, "../ViewerDataTable", "pars:{DtiPars:{DtiPath:../PmaAdo;Table:MyTable;Title:Tabulkový přehled hodnot}}", "target:_blank;");
oCreator.Open();
Úprava 1. a 2. řádku metody "Open" objektu PmgWTable:
Tato úprava umožňuje umístit v obrazu více tabulek napojených na různé zdroje dat (různé tabulky jedné nebo více databází).
JavaScriptVyber a zkopíruj do schránky

var sDtiPars = "DtiPath:../PmaAdo;Table:MyTable;Title:Tabulkový přehled hodnot";
// var sDtiPars = pMe.GetPar("DtiPars");
nebo
Vložení 3. až 5. řádku do metody Open objektu PmgWTable:
JavaScriptVyber a zkopíruj do schránky

mDtiPars.DtiPath = "../PmaAdo";
mDtiPars.Table = "MyTable";
mDtiPars.Title = "Tabulkový přehled hodnot";

Historie:
Pm9.00.01: Vytvořeno
Navigace:
 
 
- DtiOper
 
 
- SVG
© MICROSYS, spol. s r. o.