Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmaDataTable - Podrobný popis objektu

Viz: Objekt PmaDataTable
 
Nad hodnotami objektu PmaDataTable lze provádět různé operace. Například:
- Nabízení hodnot (pro čtení i zápis) do Webu pomocí formátu XML. Z hlediska licence je klient požadující data z této Web komponenty typu PmDataClient.
- Uložení a nastavování hodnot pomocí metod: SaveToString, LoadFromString, SaveToFile, LoadFromFile, GetArray, SetArray, atd.
- Hledání hodnot metodou FindValue.
- Třídění řádků metodou Sort.
- atd.
 
Objekt PmaDataTable lze použít různými způsoby:

Lze například definovat sloupce ve vývojovém prostředí (viz karta "Sloupce"), definovat kolik má mít tabulka řádků (viz karta "DataTable") a pak ve spuštěné aplikaci jen zapisovat a číst hodnoty (viz vlastnost Item) z této tabulky.

Lze také nedefinovat ani sloupce ani řádky a ve spuštěné aplikaci je dynamicky vytvářet a mazat (viz metody InsertRow, RemoveRow, InsertCol, RemoveCol). Přidávání a mazání sloupců je však omezeno tím, že se přitom smažou i všechny řádky tabulky.

Lze i ve vývojovém prostředí definovat sloupce i řádky a pak je dynamicky měnit.

Maximální počet řádků závisí na Runtime licence PROMOTIC a je: PmRtProf: 65535, PmRtFree: 30 a PmRtXX: XX (například PmRt100: 100).

Maximální počet sloupců závisí na Runtime licence PROMOTIC a je: PmRtProf: 65535, PmRtFree: 30 a PmRtXX: XX (například PmRt100: 100).

 
Sloupce "Jen pro čtení" (ReadOnly):

Každá buňka tabulky se standardně přidává do výpočtu velikosti aplikace z důvodu licencování. Pokud se však v objektu PmaDataTable označí sloupec jako "Jen pro čtení", pak buňky v tomto sloupci se nebudou započítavat do výsledné velikosti aplikace. To umožňuje i v aplikacích s menším počtem bodů tento objekt používat k uchovávaní konfiguračních hodnot, které se po celou dobu běhu aplikace nemění. Je to zajištěno tak, že do sloupců "Jen pro čtení" lze zapsat hodnotu pouze jednou. Omezení u jednotlivých metod objektu PmaDataTable z důvodu sloupců "Jen pro čtení" jsou uvedena v poznámce této metody.

Každá buňka je na začátku prázdná. Za prázdnou se považuje i buňka obsahující číselnou hodnotu 0 nebo prázdný řetězec "". Do takové buňky lze zapsat novou hodnotu. Po zápisu neprázdné nenulové hodnoty ve sloupci "Jen pro čtení" dochází k "zamčení buňky". "Zamčená buňka" se stane konstantou, nelze už do ní psát. Do ostatních "nezamčených" buněk však lze dále psát. U metod, které zapisují do více buněk, se zapíše pouze do "nezamčených buněk", obsah "zamčených buněk" zůstane beze změny.

Pokud je v kterémkoliv sloupci "Jen pro čtení" zamčena alespoň jedna buňka zapisem neprázdné hodnoty, pak dochází k "zamčení struktury" celé tabulky. Nelze dále přidávat a rušit sloupce nebo řádky, měnit strukturu tabulky. Strukturu, rozměry tabulky je proto nutno měnit před zápisem první neprázdné hodnoty do sloupce "Jen pro čtení".

 
Zobrazování dat v obrazu:

Na hodnoty tabulky se lze napojit přímo v Pmg objektech datovou vazbou "PP - Datová vazba na vlastnost Pma objektu". V zadavateli vlastnost objektu v této vazbě se musí ručně zadat: Item(row,col), kde row a col jsou indexy požadovaného řádku a sloupce.

Objekt PmgWTable se může napojit na hodnoty objektu PmaDataTable pomocí informačního objektu, který lze získat metodou GetInfo. To znamená, že z objektu PmaDataTable lze metodou GetInfo získat objekt, který se pak vloží do PmgWTable metodou PmgWTable.FillFromInfo, například takto:

 
VBScriptVyber a zkopíruj do schránky

Dim oTable, oDataTable
Set oTable = pMe.Pm("/Wnd/MyPanel").Items("/MyTab")
Set oDataTable = pMe.Pm("/Data/Params")
oTable.FillFromInfo oDataTable.GetInfo("data"), "bind"
 

Zde se předpokládá, že ve stromu Pma objektů je objekt PmaPanel na cestě "/Wnd/MyPanel" a objekt PmaDataTable "/Data/Params". Pokud je obraz "MyPanel" otevřen a obsahuje Pmg objekt s názvem "MyTab", pak můžeme zavolat tento skript. Ten (viz poslední řádek) naplní objekt PmgWTable daty z objektu PmaDataTable a spojí je (parametr "bind") tak, že při každém zavolání metody PmgWTable.Draw se obnoví obsah objektu PmgWTable.

Viz také:
- PmaData (objekt)
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice