Zum Hauptinhalt springen
Version: Preview

Werte von Formularfeldern lesen

Werte aus aktuellem Formular lesen

Beispiel:

public override void Button_Click()
{

string fidAlsText = this.Form.Key;
long fid = this.LngValue("Fid");
string name = this.StrValue("Name");
double laenge = this.DblValue("Laenge");
if (this.IsNull("Laenge"))
{
//Laenge hat keinen Wert
}

}
FunktionBeschreibung
StrValueLiest einen Text Wert (Datentyp string)
DblValueLiest einen Dezimalzahlenwert (Datentyp double)
IntValueLiest einen Ganzzahlenwert (Datentyp int) Wertebereich -2147483648 bis +2147483647
LngValueLiest einen Ganzzahlenwert (Datentyp long)Wertebereich -9223372036854775808 bis +9223372036854775807.
BoolValueLiest einen wahr/falsch Wert (Datentyp bool)
DateTimeValueLiest einen Datums Wert (Datentyp DateTime)
IsNullGibt true zurück wenn das Feld keinen Wert hat
Form.KeyLiefert den Wert des Primärschlüsselfeldes zurück, im Fall von Feature Tabellen ist dies der Wert der FID, bei Kennungslisten Tabellen der Wert der ID, etc
Form.FilterLiefert den aktuell gesetzten Filter zurück.
Hinweis

Die Funktionen oben liefen immer einen Wert zurück und nie null.
Wenn z.B. bei einem Zahlenwert (double/int) kein Wert steht, dann kommt als Wert 0 zurück.
Verwenden die Funktion "IsNull" wenn Sie prüfen wollen das Feld einen Wert hat.

Die mit diesen Funktionen angezeigten Werte sind die Werte wie Sie der Kunde im Dialog sieht. Die sind nicht in allen Fällen die Feldwerte die in der Tabelle stehen. z.B. bei Kennungslisten bekommen Sie damit den Text und nicht den Wert des Tabellen Feldes.

Den Wert des Tabellen Feldes bekommen sie mit "GetStringEx", "GetIntEx" etc.
oder ermitteln sie den Wert der FID mittels this.Form.Key und holen Sie dann das Feature Objekt. Oder verwenden Sie this.Form.Filter und lesen Sie dann mit cn.ReadFeatures alle gefilterten Feature als Objektklassen.

Details siehe:
https://help.mapedit.de/docs/next/api/DesktopApi/QueryData

Werte aus einem anderen, geöffneten Formular lesen

Beispiel:

public override void Button_Click()
{

Mum.Geo.Client.Generic.GenericForm frm = this.Project.Forms.GetOpenForm(this.Connection.Name, "Tabellenname");
if (frm != null) //Wenn null dann ist der Dialog nicht offen
{
long fid = frm.LngValue("Fid"); //Fid des aktuellen Datensatzes des anderen Dialoges
string filter = frm.Filter; //Filter des anderen Dialoges
}

}