Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Obiekt PmForm (Formularz)

Opis:
Obiekt przedstawia formularz w celu wprowadzania wartości.
Właściwości i metody:
CreateItem Wytworzy jedną pozycję formularza
GetItem Zwraca istniejącą pozycję formularza
Title Wyświetlana nazwa formularza w tytule okna
BgColor Kolor tła okna formularza
SysButtons Wybór przycisków systemowych
Close Zamknij przeglądarkę formularza
Lista podobiektów:
PmfString Wprowadzanie tekstu
PmfInt Wprowadzanie liczby całkowitej (Integer)
PmfFloat Wprowadzanie liczby rzeczywistej (Float)
PmfBool Wprowadzanie wartości logicznej (Checkbox)
PmfEnum Wybór jednego z kilku (Combobox)
PmfButton Przycisk
PmfSepar Separator pomiędzy konfiguratorami
PmfObject Obiekt formalny - rodzic wszystkich elementów formularza
Notatka:
- Obiekt można wytworzyć przy pomocy metody Pm.CreatePmForm.
- Obiekt ten działa również w przypadku Web panelach. Lecz nie funkcjonuje w przeglądarce InternetExplorer8 i starszych.
- Obiekt można zastosować w języku VBScript oraz JavaScript.
 
Przy pomocy obiektu PmForm można dynamicznie (tzn. przy pomocy skryptu) wytworzyć okno do wprowadzania danych (formularz). Każda "wprowadzana dana" przedstawia tu jedną pozycję formularza.

Formularz można wytworzyć również przy pomocy obiektu PmPanel ale przy pomocy obiektu PmForm można to wykonać dynamicznie i prościej, ponieważ pozycje formularza są automatycznie pozycjonowane oraz rozciągają sie wg potrzeb.

 
Sposób wytworzenia formularza:
Wytworzy okno modalne do wprowadzania danych
-----------
1. W jednym skrypcie (np. po naciśnięciu przycisku w zdarzeniu onButtonUp) zostanie wytworzony, ustawiony oraz otwarty formularz:
JavaScriptWybierz oraz skopiuj do schowka

//Wytworzy obiekt formularza
var oItem;
var oForm = Pm.CreatePmForm();
oForm.Title = "Pole wprowadzania parametrów magazynowania paczek";

//Wytworzy pozycję formularza:
oItem = oForm.CreateItem("int", "i1", "Ilość paczek", "Min:0;Max:33;");
oItem.Value = 5;
oItem = oForm.CreateItem("bool", "b1", "Magazynować");
oItem.Value = true;
oItem = oForm.CreateItem("string", "s1", "Opis");
oItem.Value = "woda butelkowana";
oItem = oForm.CreateItem("enum", "e1", "Prędkość opracowania");
oItem.AddRow(0.5, "powoli");
oItem.AddRow(9.9, "szybko");
oItem.Value = 0.5;
oItem = oForm.CreateItem("button", "reset", "Wyzerować");

//Otworzy formularz w oknie modalnym:
var oExtra = Pm.CreatePmMap();
oExtra.ViewObject = oForm;
oExtra.onChange = Pm.CreatePmAction(1, pMe, "FormChanged");
oExtra.onClose = Pm.CreatePmAction(1, pMe, "FormClosed");
pMe.PmPanel.OpenView("/#glob/form", "target:_blank;modal:1;", "", oExtra);
2. Podczas wprowadzania wartości do formularza podczas jakiejkolwiek zmianie zostanie wywołana metoda projektanta "FormChanged" (patrz oExtra.onChange). Tu można na przykład stwierdzić, że doszło do naciśnięcia przycisku "Wyzerować" oraz zostanie wykonane wyzerowanie pozycji.

Ta metoda projektanta jest wytwarzana w zakładce Metody oraz musi zawierać dwa parametry: oSystem oraz oPrivate.

JavaScriptWybierz oraz skopiuj do schowka

if (oSystem.ChangeType == "push" && oSystem.ItemId == "reset")
{
  var oForm = oSystem.ViewObject;
  oForm.GetItem("i1").Value = 0;
  oForm.GetItem("b1").Value = false;
  oForm.GetItem("s1").Value = "";
  oForm.GetItem("e1").Value = 0.5;
}
3. Po wprowadzeniu danych i zamknięciu okna zostanie wywołana metoda projektanta "FormClosed", w której można stwierdzić wszystkie ustawione wartości.

Ta metoda projektanta jest wytwarzana w zakładce Metody oraz musi zawierać dwa parametry: oSystem oraz oPrivate.

JavaScriptWybierz oraz skopiuj do schowka

if (oSystem.CloseReason == "ok")
{
  var oForm = oSystem.ViewObject;
  var val1 = oForm.GetItem("i1").Value;
  var val2 = oForm.GetItem("b1").Value;
  var val3 = oForm.GetItem("s1").Value;
  var val4 = oForm.GetItem("e1").Value;
}
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice