Promotic
WikipediaLinkedInYoutubeTwitterFacebook

FillFromInfo - metoda objektu PmTable

Popis:
Metoda slouží k načtení dat z obecných INFO objektů, které PROMOTIC objekty zpřístupňují projektantovi pomocí metody PmObject.GetInfo. Data jsou buď všechna načtena do vnitřního bufferu tabulky (styl "static") nebo tabulka uloží pouze odkaz na info objekt (styl "bind"), pak při každé žádosti o zobrazení dat (při skrolování či volání metody Draw nebo při prvním vykreslení) je INFO objekt požádán pouze část aktuálních dat pro zobrazení.
Syntaxe:
FillFromInfo(Object As Object, Style As String)
Volání:
oTable.FillFromInfo oObject.GetInfo, "static"
Parametry:
Object(Object) Reference na objekt typu INFO, který lze získat metodou PmObject.GetInfo, ze kterého budou vyčítány data.
Style(String) Říká, jak se budou data z INFO objektu načítat. Hodnoty jsou:
"static" - data z objektu budou najednou vyčtena a uložena do tabulky při volání této metody
"bind" - data z objektu budou vyčtena a uložena do tabulky při volání této metody a při dalším pohybu v tabulce nebo při volání metody Draw budou znovu obnovována čtení z INFO objektu.
Poznámka:
INFO objekty jsou podporovány v objektech PmDatabase a PmDataTable, data jdou načitat z těchto dvou objektů.
 
Tato metoda není funkční pro Web obrazy.
Příklad:
Nechť v obraze je umístěn grafický prvek PmiAx svázaný s ActiveX objektem PmTable, nechť oDb je reference na objekt PmDatabase, jehož data v tabulce "Teplota" (nechť má 10000 řádků) má ActiveX objekt PmTable zobrazovat. Objekt PmDatabase musí být v otevřeném stavu, aby mohl metodou FillFromInfo poskytovat data. Styl je "bind", tzn. nebude se načítat všech 10000 řádků, ale vždy pouze ty, které se mají aktuálně zobrazit.
VBScriptVyber a zkopíruj do schránky

Dim oDb, oTable
Set oDb = pMe.Pm("/Database")
Set oTable = pMe.Items("/Ax0").Acx

oDb.Database = "ODBCsource"
oDb.Type = "ODBC"
oDb.Table = "Teplota"
oDb.User = "Admin"
oDb.Password = "Admin"
oDb.Open

oTable.FillFromInfo oDb.GetInfo("data"), "bind"
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice