Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onTrendParamsChange - zdarzenie objektu PmgTrendViewer

Opis:
Zdarzenie jest wywołane podczas uruchomienia przeglądarki lub jeżeli doszło do zmiany podstawowego parametru niektórego z obiektów typu tvTrend (jeżeli został wytworzony lub usunięty obiekt typu tvTrend, lub jeżeli doszło do zmiany we właściwościach: tvTrend.GraphDefault.Color, tvTrend.ValueMin, tvTrend.ValueMax, tvTrend.Name, tvTrend.Unit lub tvTrend.ID).

W tym zdarzeniu jest na przykład wskazane skryptem ustawiać właściwości innych Pmg obiektów (np. nagłówki trendów - obiektu PmgWTable), które mają się zmieniać według bieżącego stanu przeglądania trendów.

Parametry:
pMe(Object) Odniesienie do PmgTrendViewer obiektu, w którym dane zdarzenie powstaje.
bInit(Boolean) Jeżeli ten parametr jest true, wtedy jest to oznaka tego, że to zdarzenie jest wołane po raz pierwszy (podczas uruchomienia).
Podłączenie trendowanych zmiennych z parametru trConnect:
Inicjalizacja trendowanych zmiennych uzyskanych z parametru trConnect oraz przywrócenie wartości do tabeli ustawionej jako nagłówek przeglądarki trendów
JavaScriptVBScriptWybierz oraz skopiuj do schowka

//#pragma variable sName=Macro("$.text('sys','name')")
//#pragma variable sUnit=Macro("$.text('sys','unit')")
//#pragma variable sMin=Macro("$.text('sys','minimum')")
//#pragma variable sMax=Macro("$.text('sys','maximum')")
//#pragma variable sValue=Macro("$.text('sys','value')")

var oTHead = pMe.Items("../AxTrendsHead");
var oTView = pMe;
var oTrend, nLength, aTr, trConnect, i, nCount;

if (bInit)
{
oTHead.SetCellText(0, 2, sName);
oTHead.SetCellText(0, 3, sUnit);
oTHead.SetCellText(0, 4, sMin);
oTHead.SetCellText(0, 5, sMax);
oTHead.SetCellText(0, 6, sValue);
//start read and connection parameter "trConnect"
trConnect = pMe.GetPar("trConnect");
if (Pm.IsValid(trConnect) && trConnect != "")  //end read and connection parameter "trConnect"
{
aTr = Pm.StringSplit(trConnect, ",", "empty:1;");
nLength = aTr.GetSize(1);
for (i = 0; i < nLength; i += 2)
{
oTrend = oTView.AddTrend("t" + i, "$default");
oTrend.Connect(1, "local", aTr.GetItem(i), aTr.GetItem(i + 1), "iniread=name,unit,min,max,color");
}
}
//end read and connection parameter "trConnect"
pMe.Vars("cfgini").Value = oTView.GetCfg("Trends;TimeZoom;", "");
}

nCount = oTView.TrendsCount;
oTHead.Rows = nCount + 1;

for (i = 1; i <= nCount; i++)
{
oTrend = oTView.Trends(i, -1);
oTHead.SetCellText(i, 1, oTrend.Visible ? "" : "X");
oTHead.SetCellText(i, 2, oTrend.Name);
oTHead.SetCellTextAlign(i, 2, 0);
oTHead.SetCellText(i, 3, oTrend.Unit);
oTHead.SetCellText(i, 4, Pm.Round(oTrend.ValueMin, 0.001));
oTHead.SetCellText(i, 5, Pm.Round(oTrend.ValueMax, 0.001));
if (!oTView.Autoscroll)
oTHead.SetCellText(i, 6, Pm.Round(oTrend.CursorValue(2), 0.001));
oTHead.SetCellBackColor(i, 0, oTrend.GraphDefault.Color);
}
oTHead.SetCellBackColor(oTHead.FocusedRow, -3, "transparent");
oTHead.FocusedRow = oTView.TrendActive + 1;
oTHead.SetCellBackColor(oTView.TrendActive + 1, -3, "#009898");

//text align cols
oTHead.SetCellTextAlign(-3, 1, 1);  //Visible - align center
oTHead.SetCellTextAlign(-3, 2, 0);  //Name - align left
oTHead.SetCellTextAlign(-3, 3, 1);  //Unit - align center
oTHead.SetCellTextAlign(-3, 4, 1);  //Min - align center
oTHead.SetCellTextAlign(-3, 5, 1);  //Max - align center
oTHead.SetCellTextAlign(-3, 6, 2);  //Value - align right
oTHead.Draw();
if (bInit && !oTView.Autoscroll)
oTView.ReadData();
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice