Domino 9 und frühere Versionen > Entwicklung
Radiobutton Feld mit numerischem Wert per LS abfragen
MadMetzger:
Kann es vielleicht an den Leerzeichen neben dem Pipe-Symbol liegen? Ich habe das eben noch mal ausprobiert, und es funktioniert genauso. Egal ob mit oder ohne Leerzeichen.
Auf jeden Fall speichert er von der Zahl auch nur einen String ab, den du mit Cint () aber umwandeln kannst.
Axel:
Hi,
ich glaube da fehlt das Verständnis für Frontend und Backend und Aliase.
Wenn du mit Frontend-Methoden (NotesUIDocument.FieldGetText usw.) auf das Feld zugreifst bekommst du immer den Wert, der der User in der Maske sieht, also den, links vom | - Zeichen. Mit Backend-Methoden (NotesDocument.GetItemValue usw.) bekommst du immer den Alias-Wert, also den Wert rechts vom |. In der Ansicht siehst du immer den eigentlichen Feldinhalt und das ist der Aliaswert.
Wenn du die Wert als Zahl brauchst, musst du den Feldwert mit Val() in eine Zahl umwandeln.
Bsp.:
Zahl = Val(doc.Feld(0))
Um in der Ansicht den Text darzustellen, wende ich bei solchen Feldern folgenden Trick an:
Im QuerySave-Event lese ich mit der Frontend-Methode GetFieldText den Wert aus und schreibe ihn in ein verstecktes Textfeld. Das nehme ich dann für die Ansicht.
Axel
immanuel:
Hi!
Danke!
Ich habe folgendes versucht, komme aber nicht weiter:
Dim ws As New NotesUIWorkspace
Dim NotesDoc As NotesDocument
Set NotesDoc = ws.CurrentDocument.Document
ratingValue= Cint(NotesDoc.GetItemValue("iq_RateIT"))
Fehler: Type mismatch
Ich bin in den LS Objekten nicht sehr versiert und habe nicht den Durchblick. Wie muss ich das oben schreiben, damit es funktioniert? Ich möchte nur den Wert (ein Integer) des Feldes iq_RateIT in der Maske haben...
Grüsse und Danke!
Manuel
koehlerbv:
Dann ist es besonders angebracht, sich die DesignerHelp vor Verwendung einer Klasse oder Methode gründlichst 'reinzuziehen.
NotesDocument.GetItemValue liefert ein Array zurück. Ergo muss Deine Zeile heissen:
ratingValue= Cint(NotesDoc.GetItemValue("iq_RateIT") (0))
oder einfacher
ratingValue = Cint (NotesDoc.iq_RateIT (0)
Ausserdem ist ratingValue offensichtlich nicht deklariert.
Bevor Du ein neues LS-Modul beginnst, tippe als erstes immer in die Options-Section: Option Declare. Spart 'ne Menge Ärger !
HTH,
Bernhard
immanuel:
Hi Bernhard!
Vielen Dank, jetzt klappts!
Hab einiges dazugelernt...
Grüsse aus Zürich
Manuel
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln