Promotic
Přihlášení logon

Naplnění objektu PmgWTable hodnotami získaných metodou obrazu z aplikace.

Příklad provede v metodě projektanta "InitTable" inicializaci tabulky a pojmenuje sloupce v záhlaví.
Metoda "FillTable" pomocí metody projektanta obrazu GetDataTable získá pole hodnot, kterým naplní její obsah.
Metoda "InitTable" je umístěna v kartě "Metody" a spustí se v události onStart objektu PmgWTable.
Tam je také metoda "FillTable", která se zavolá v události onStart nebo v události onRefresh pokud se hodnoty v tabulce často mění.

V obrazu se založí nový objekt PmgWTable.
V tomto objektu se vytvoří metody InitTable a FillTable (bez parametrů).
V události onStart se doplní skript.
V obrazu se vytvoří nová metoda projektanta GetDataTable (bez parametrů).
Metoda InitTable:
Inicializace rozměrů tabulky a nastavení názvů sloupců tabulky
JavaScriptVyber a zkopíruj do schránky

// Dim(Cols,Rows,FixedCols,FixedRows,CellWidth,CellHeight,Interaction,Grid)
pMe.Dim(4, 1, 0, 1, 60, 20, 1, true);
pMe.SetCellText(0, 0, "col 0");
pMe.SetCellText(0, 1, "col 1");
pMe.SetCellText(0, 2, "col 2");
pMe.SetCellText(0, 3, "col 3");

pMe.Draw();
Metoda FillTable:
Metoda projektanta obrazu GetDataTable vrací pole hodnot, kterým se naplní obsah tabulky.
JavaScriptVyber a zkopíruj do schránky

var aData = pMe.PmPanel.Methods.GetDataTable();

if (Pm.GetVarType(aData, 1) == "PmArray")
{
var nFixRow = pMe.FixedRows;
var nRows = aData.GetSize(2);
var nCols = aData.GetSize(1);

pMe.RemoveRow(-3);
pMe.InsertRow(-2, nRows);

// Write data to table
var iRow, iCol;
for (iRow = 0; iRow < nRows; iRow++)
{
for (iCol = 0; iCol < nCols; iCol++)
{
pMe.SetCellText(iRow + nFixRow, iCol, aData.GetItem(iCol, iRow));
}
}
pMe.Draw();
}
Událost onStart:
Pokud se hodnoty v tabulce často mění, pak metodu FillTable volat také v události onRefresh.
JavaScriptVyber a zkopíruj do schránky

pMe.Methods.InitTable();
pMe.Methods.FillTable();
Metoda obrazu GetDataTable:
Je uveden příklad který z objektu PmaDataTable vrací pole hodnot.
Ale může to být i jiný zdroj dat z aplikace, který tabulku naplní.
JavaScriptVyber a zkopíruj do schránky

var aData = pMe.Pm("/DataTable").GetArray("All", null);
return Pm.TransformValue(aData, 50);
© MICROSYS, spol. s r.o.Update cookies preferences