PrivateMainForm

<< Click to Display Table of Contents >>

Navigation:  Server Side Programming > Klassen und Interfaces >

PrivateMainForm

Die Klasse PrivateMainForm wird (wegen der HTTP-Form-Variablen) ad hoc generiert .

 

Attribute

 

int CurrentWebuserID  { get; }

Gibt die ID (ANW_ID) des aktuellen Webbenutzers zurück.

 

string SessionKey  { get; }

Gibt den aktuellen Sessionkey zurück.

 

int CurrentMdtID  { get; }

Gibt die ID (MDT.Mdt_Id) des aktuellen Mandanten zurück.

 

int BaseObjID  { get; }

Gibt die ID des aktuell bearbeiteten Objektes zurück. Gibt bei "neu" eine 0 zurück.

 

int UserformID { get; }

Gibt die ID (USERFORM.USERFORM_ID) der aktuellen individuellen Maske zurück.

 

string DATEFMTKEY  { get; }

Gibt das aktuelles Datumformat zurück.

 

string TZIDENT { get; }

Gibt die aktuelle Zeitzone zurück.

 

int GETParamFromURLAsInt(string prm)

Gibt den HTTP-GET-Parameterwert als int zurück.

 

bool WasButtonSave { get; }, bool WasButtonApply { get; }, bool WasButtonSaveNew { get; }

Gibt zurück, ob die individuelle Maske nach Anklicken des entsprechenden Buttons angezeigt wurde.

 

string DocumentLocation { get; }

Gibt den Wert von Javascript „document.location“ des Browsers zurück.

 

string DocumentReferrer { get; }

Gibt den Wert von Javascript „document.referrer“ des Browsers zurück.

 

bool IsReadonlyMode { get; }

Gibt zurück, ob die individuelle Maske im Readonly Mode geöffnet ist.

 

bool IsAfterApply { get; }

Gibt zurück, ob die Maske initial oder nach der Übernahme geöffnet wird.

 

IMainformControl CommonMainformControl { get; }

Gibt die Basisinstanzen des Hauptformulars zurück.

 

Methoden und Attribute:

int CurrentWebuserID { get; }

string SessionKey { get; }

int CurrentMdtID { get; }

int BaseObjID { get; }

int UserformID { get; }

string DATEFMTKEY { get; }

string TZIDENT { get; }

string GETParamFromURL(string prm);

int GETParamFromURLAsInt(string prm);

string DocumentLocation { get; }

string DocumentReferrer { get; }

bool IsReadonlyMode { get; }

bool IsAfterApply { get; }

 

PrivateCustomFormCollection CustomFormVars

Gibt eine Klasse zurück, die alle HTTP-Formular-Variablen als Attribute enthält.

Beispiel:

 

MainForm.CustomFormVars.meine_http_form_variable.Value = "hallo";

 

 

 

Methoden

 

void Close()

Schliesst das Fenster.

 

object GetOpenParam(string name)

int GetOpenParamAsInt(string name)

string GetOpenParamAsString(string name)

int[] GetOpenParamAsIntArray(string name)

string[] GetOpenParamAsStringArray(string name)

siehe auch Parameterübergabe über Komponente „Individuelle Maske“

 

string GETParamFromURL(string prm)

Gibt den HTTP-GET-Parameterwert zurück.

 

int GETParamFromURLAsInt(string prm)

Gibt den HTTP-GET-Parameterwert als Nummer zurück.

 

string RegisterOpenUFContext(params object[] open_prms)

Ermöglicht es, eine individuelle Maske aus Javascript öffnen, wobei die Parameterübergabe auf der Serverebene erfolgt.

Erklärung: eine individuelle Maske kann sowohl aus Javascript (Browser) als auch über Server-Side-Programming geöffnet werden. Jede Methode hat Vorteile und Nachteile. Die Funktion RegisterOpenUFContext ermöglicht es, die Vorteile von beiden Methoden zu nutzen.

Der Parameter ist eine Liste von Pärchen „Parametername“, „Parameterwert“. Siehe rimacon.cmdb.web.UFCodeBehind.IUserform -> InitModal -> Parameter open_prms

Der zurückgegebener Wert ist eine einmal nutzbare GUID.

 

Beispiel:

Maske 1, JS-Event btOpen.onClick

var RU=rimacon._userform, RUC=rimacon._userform._customer;

RU.ufUniv.initModal({

 userformIdOrKey:"Maske_2"

 ,objId: 0

 ,readonly: false

 ,maximized: false

 ,openUFContextKey: RU._server.GenerOpenUFContextKey()

 ,customUrl: ""

 ,onInited: null /* function() { console.log("onInited") } */

 ,onMessage: null /* function(msg) { console.log("onMessage", msg) } */

 ,onSaved: null /* function(ctx) { console.log("onSaved: " + ctx.objId) } */

 ,onClosed: null /* function(ctx) { console.log("onClosed", ctx) } */

})

 

Maske 1, Serverfunktion GenerOpenUFContextKey

/*

Rückgabewert: string

über Javascript aufrufbar: ja

*/

return MainForm.RegisterOpenUFContext(

 "geheimString", "abrakadabra"

 ,"magicNumber", 42

 );

 

Maske 2, Serverereignis AfterFormInit

string geheimString = MainForm.GetOpenParamAsString("geheimString");

int magicNumber = MainForm.GetOpenParamAsInt("magicNumber");

PostJS.Alert(geheimString + "\r\n" + magicNumber);

 

Die Maske wird zwar über Javascript geöffnet, aber die benutzerdefinierten Parameter werden auf der Serverebene übergeben.

 

bool SendFileToBrowser(string data, string content_type, string filename)

bool SendFileToBrowser(byte[] data, string content_type, string filename)

Sendet eine Datei an den Webbenutzer. Je nach Browser-Einstellungen wird dem Webbenutzer ein Download-Fenster angezeigt oder die Datei wird automatisch heruntergeladen und gespeichert.

 

void SetReturnParam(string name, object value)

siehe auch Parameterübergabe über Komponente „Individuelle Maske“

 

 

Server-Ereignisse

 

AfterFormInit

Anweisungen/Funktionen werden nach der Initialisierung des Hauptfensters und vor dem JavaScript-afterFormInit ausgeführt.

Kontextvariable: ctx vom Typ MainFormAfterFormInitContext

 

CustomValidator

Prüfungen, bevor das Formular gespeichert wird. Ergebnis (return) muss entweder false oder true sein. False bedeutet „nicht speichern“, true bedeutet "alles in Ordnung".

Der Server-CustomValidator wird nach dem JavaScript-CustomValidator aufgerufen.

 

AfterSave

Anweisungen/Funktionen werden nach dem Speichern ausgeführt.

Die Reihenfolge ist wie folgt:

1.dieses AfterSave (C#)

2.JavaScript After Save

3.SQL After Save

 

Kontextvariable: ctx vom Typ MainFormAfterSaveContext.