aOptions | (Array) tablica 2-wymiarowa z opcjami, gdzie wiersze przedstawiają poszczególne opcje a kolumny przedstawiają pozycje wyboru. Patrz (Col,Row) - tablica 2-wymiarowa mniemana jako tablica wierszy.
Pierwsza kolumna (indeksowane od 0) nie jest wyświetlona w ofercie (jest ukryta) oraz zawiera identyfikatory poszczególnych opcji. Następne kolumny już będą widoczne w ofercie. Oferta jest wyświetlana w formie tabelkowej i posiada o jedną kolumnę mniej niż dane dostarczone w 2-wymiarowej tablicy.
Pierwszy wiersz może (lecz nie musi) zawieraś nagłówek z nazwami kolumn (lokalizowane nazwy użytkownika) w ofercie. Jeżeli pierwszy wiersz powinien zawierać nagłówek, wtedy w pierwszej kolumnie (nie widzialnej, zarezerwowanej dla indetyfikatorów) musi być wprowadzony łańcuch o wartości $title. |
---|---|
vSelected | (Variant) Identyfikator opcji, która zostanie wybrana domyślnie.
Wartość null dla JavaScript lub Empty dla VBScript oznacza, że przy wyświetleniu początkowym nie ma zostać wybrana żadna z opcji.
Wartość typu String przedstawia identyfikator opcji, która zostanie wybrana podczas wyświetlenia początkowego. Jeżeli taka opcja nie znajduje się w ofercie (np. pusty łańcuch "" lub nie istniejący identyfikator), wtedy podczas wyświetlenia początkowego nie zostanie wybrana żadna z opcji. |
sDlgTitle | (String) Tytuł okna edycyjnego. Do wprowadzenia można zastosować Makro wyrażenie ($.text ..) (wartość jest obliczana przy wywołaniu metody). |
sStyle | (String) Dodatkowe parametry do wyświetlenia okna z ofertą. Dane są tutaj w formacie KeyVal, na przykład "ontop:1;grid:1;size:350,250;".
Domyślną wartością jest "ontop:0;grid:0;". ontop:nn (opcjonalne) - Określa, czy okno będzie "Zawsze na wierzchu".
0 (domyślnie) - Okno nie będzie "Zawsze na wierzchu".
1 - Okno będzie "Zawsze na wierzchu". grid:nn (opcjonalne) - Określa, czy komórki wyświetlonej tabeli będą mieć obrzeże.
0 (domyślnie) - nie będą z obrzeżem.
1 - będą z obrzeżem. size:dx,dy (opcjonalne) - Wymiary okna (w pikselach).
autoselect:nn (opcjonalne) - Umożliwia tryb, kiedy system nie oczekuje na dokonanie wyboru przez użytkownika w tych przypadkach, kiedy nie jest to konieczne. W takim przypadku nie dojdzie nawet do wyświetlenia okna.
0 (domyślnie) - okno będzie zawsze wyświetlone.
1 - Okno będzie wyświetlone tylko jeżeli do wyświetlenia są przynajmniej dwie opcje.
Jeżeli do dyspozycji jest tylko jedna opcja, wtedy jest ona automatycznie wybrana a metoda zwraca wartość typu String (identyfikator wybranej opcji).
Jeżeli nie ma do dyspozycji żadnej opcji, wtedy metoda zwraca: null dla JavaScript lub Empty dla VBScript (można sprawdzić przy pomocy metody Pm.IsValid). |
oExtra | [opcjonalne] (Object) Dodatkowy parametr w formie obiektu PmMap.
Jeżeli parametr jest wprowadzony (zalecane), wtedy metoda jest wywołana asynchronicznie, w innym przypadku jest wywołana synchronicznie (patrz Wywołanie synchroniczne lub asynchroniczne). Obiekt jest wytworzony przy pomocy metody Pm.CreatePmMap. Parametr ten ma podobne znaczenie jako parametr oExtra metody OpenView. oExtra.onClose (obowiązkowe) - (obiekt typu PmAction) Tu jest określana metoda projektanta, która zostanie wywołana po zamknięciu panela.
Obiekt dla tej właściwości jest wytworzony przy pomocy metody Pm.CreatePmAction. Ta metoda projektanta musi posiadać dwa parametry: - oSystem: Obiekt typu PmMap. Właściwości tego obiektu ustawia system według tego skąd dana akcja jest wołana. W tym przypadku system ustawia właściwości:
- oPrivate: Obiekt typu PmMap. Właściwości tego obiektu ustawia projektant w obiekcie PmAction.PrivateData. Projektant w tym obiekcie niemusi ustawić żadnych właściwości. Ustawieniem dowolnej właściwości można osiągnąć na przykład to, iż jedna metoda projektanta może zostać wykorzystana do wielu celów i tylko na podstawie wartości właściwości w PrivateData można w tej metodzie stwierdzić, z którego miejsca została wywołana. |
var oExtra = Pm.CreatePmMap();
oExtra.onClose = Pm.CreatePmAction(1, pMe, "ClosePanel");
var aOptions = Pm.FindViewers("groups:menu;viewers:panel;", "", "");
Pm.SelectionDialog(aOptions, "", "Panele", "size:400,300;", oExtra);
if ("ok" == oSystem.CloseReason)
{
pMe.PmPanel.OpenView(oSystem.ReturnValue, "", "");
}
var oExtra = Pm.CreatePmMap();
oExtra.onClose = Pm.CreatePmAction(1, pMe, "ClosePanel");
var aOptions = Pm.FindViewers("groups:menu;viewers:alarm_state;", "", "columns:path,title,alstate3,alstate2,alstate1,alhoot;");
Pm.SelectionDialog(aOptions, "", "Alarmy", "size:400,300;", oExtra);
Dim aOptions
aOptions = Pm.FindViewers("groups:menu;viewers:panel;", "", "")
Dim sViewer
sViewer = Pm.SelectionDialog(aOptions, "", "Panele", "size:400,300;")
If Pm.IsValid(sViewer) Then
pMe.PmPanel.OpenView sViewer, "", ""
End If
var sId;
var oExtra = Pm.CreatePmMap();
oExtra.onClose = Pm.CreatePmAction(1, pMe, "ClosePanel");
var aOptions = Pm.CreatePmArray().Create(3,4);
aOptions.SetItem("$title", 0, 0);
aOptions.SetItem("Nazwa", 1, 0);
aOptions.SetItem("Opis", 2, 0);
aOptions.SetItem("id0", 0, 1);
aOptions.SetItem("T1", 1, 1);
aOptions.SetItem("Temperatura 1", 2, 1);
aOptions.SetItem("id1", 0, 2);
aOptions.SetItem("T2", 1, 2);
aOptions.SetItem("Temperatura 2", 2, 2);
aOptions.SetItem("id2", 0, 3);
aOptions.SetItem("T3", 1, 3);
aOptions.SetItem("Temperatura 3", 2, 3);
sId = Pm.SelectionDialog(aOptions, "id1", "Wybór temperatury", "ontop:1;grid:1;size:350,250;", oExtra);
if ("ok" == oSystem.CloseReason)
{
Pm.MessageBox("Tytuł", oSystem.ReturnValue);
}