Promotic

onTrendParamsChange - zdarzenie obiektu PmgTrendViewer

Opis:
Zdarzenie zostanie wywołane podczas uruchomienia przeglądarki lub jeżeli doszło do zmiany podstawowego parametru niektórego z obiektów 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ądarki trendów.
Parametry:
pMe(Object) Odniesienie do PmgTrendViewer obiektu, w którym dane zdarzenie powstaje.
pEvent(Object) Odniesienie do obiektu zawierającego ściślejsze informacje o danym zdarzeniu.
pEvent.Init - (Boolean) [do odczytu] Jeżeli parametr ten jest true, wtedy jest to znacznik tego, że to zdarzenie zostanie wywołane po raz pierwszy (podczas uruchomienia).
Notatka:
Zdarzenie to działa także w Web panelach.
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, iTrend, 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 != "")
{
aTr = Pm.StringSplit(trConnect, ",", "empty:1;");
nLength = aTr.GetSize(1);
for (iTrend = 0; iTrend < nLength; iTrend += 2)
{
oTrend = oTView.AddTrend("t" + iTrend, "$default");
oTrend.Connect(1, "local", aTr.GetItem(iTrend), aTr.GetItem(iTrend + 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 (iTrend = 1; iTrend <= nCount; iTrend++)
{
oTrend = oTView.Trends(iTrend, -1);
oTHead.SetCellText(iTrend, 1, oTrend.Visible ? "" : "X");
oTHead.SetCellText(iTrend, 2, oTrend.Name);
oTHead.SetCellTextAlign(iTrend, 2, 0);
oTHead.SetCellText(iTrend, 3, oTrend.Unit);
oTHead.SetCellText(iTrend, 4, Pm.Round(oTrend.ValueMin, 0.001));
oTHead.SetCellText(iTrend, 5, Pm.Round(oTrend.ValueMax, 0.001));
if (! oTView.Autoscroll)
{
oTHead.SetCellText(iTrend, 6, Pm.Round(oTrend.CursorValue(2), 0.001));
}
oTHead.SetCellBackColor(iTrend, 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.