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
}
}
Funktion | Beschreibung |
---|---|
StrValue | Liest einen Text Wert (Datentyp string) |
DblValue | Liest einen Dezimalzahlenwert (Datentyp double) |
IntValue | Liest einen Ganzzahlenwert (Datentyp int) Wertebereich -2147483648 bis +2147483647 |
LngValue | Liest einen Ganzzahlenwert (Datentyp long)Wertebereich -9223372036854775808 bis +9223372036854775807. |
BoolValue | Liest einen wahr/falsch Wert (Datentyp bool) |
DateTimeValue | Liest einen Datums Wert (Datentyp DateTime) |
IsNull | Gibt true zurück wenn das Feld keinen Wert hat |
Form.Key | Liefert 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.Filter | Liefert den aktuell gesetzten Filter zurück. |
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
}
}